Index: trunk/info/info/alkisn/alkisstrasse.php
===================================================================
--- trunk/info/info/alkisn/alkisstrasse.php	(revision 378)
+++ trunk/info/info/alkisn/alkisstrasse.php	(revision 387)
@@ -10,16 +10,21 @@
 	2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermÃ¶glichen, SQL optimiert (FS-Liste jetzt schneller)
 	2017-02-23 Neuer Parameter &haus=m/o zum alkisexport.php
-
-ToDo: Neuen Parameter haus=m/o zum ALKISexport (alkisexport.php) bedienen
+	2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen
 */
 session_start();
-$id="n";
-$cntget = extract($_GET);
+
+$showkey="n"; // Var. aus Parameter initalisieren
+$cntget = extract($_GET); // Parameter in Variable umwandeln
+
+// strikte Validierung aller Parameter
+if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");}
+if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");}
+if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");}
+if ($showkey == "j") {$showkey=true;} else {$showkey=false;}
+
 require_once("alkis_conf_location.php");
 if ($auth == "mapbender") {require_once($mapbender);}
 include("alkisfkt.php");
 
-$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
-if ($keys == "j") {$showkey=true;} else {$showkey=false;}
 ?>
 <!doctype html>
@@ -27,4 +32,5 @@
 <head>
 	<meta charset="utf-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 	<title>ALKIS Stra&szlig;e</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
@@ -35,12 +41,9 @@
 		}
 	</script>
-	<style type='text/css' media='print'>
-		.noprint {visibility: hidden;}
-	</style>
 </head>
 <body>
 <?php
 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisstrasse.php'");
-if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>";
 
 $sql ="SELECT s.land, s.regierungsbezirk, s.kreis, s.gemeinde, s.lage, s.bezeichnung AS snam, 
@@ -57,6 +60,6 @@
 $res=pg_execute("", $v);
 if (!$res) {
-	echo "\n<p class='err'>Fehler bei Lagebezeichnungskatalogeintrag.</p>\n";
-	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	echo "\n<p class='err'>Fehler bei Lagebezeichnungskatalogeintrag.</p>";
+	if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 if ($row = pg_fetch_array($res)) {
@@ -66,10 +69,10 @@
 	// Balken
 	$kennz=$gem."-".$lage." (".$snam.")"; // Schluessel als Sucheingabe in NAV brauchbar?
-	echo "<p class='strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>\n";
+	echo "\n<p class='strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>";
 } else {
-	echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>\n";
-}
-
-echo "\n<h2><img src='ico/Strassen.png' width='16' height='16' alt=''> Stra&szlig;e</h2>\n";
+	echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>";
+}
+
+echo "\n<h2><img src='ico/Strassen.png' width='16' height='16' alt=''> Stra&szlig;e</h2>";
 
 // Tabelle Kennzeichen
@@ -110,5 +113,5 @@
 	echo "\n\t\t<p class='nwlink noprint'>"
 		."\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$ogml;
-		if ($showkey)   {echo "&amp;showkey=j";}
+		if ($showkey) {echo "&amp;showkey=j";}
 		echo "' title='Lage Ohne Hausnummer'>Lage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''></a>"
 	."\n\t\t</p>";
@@ -120,6 +123,6 @@
 
 // F L U R S T U E C K E
-echo "\n\n<a id='fs'></a><h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n";
-echo "\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser StraÃe</p>";
+echo "\n\n<h3 id='fs'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>"
+."\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser StraÃe</p>";
 
 // ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer  > = Hauptgebaeude 
@@ -142,6 +145,6 @@
 $resf=pg_execute("", $v);
 if (!$resf) {
-	echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n";
-	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}	
+	echo "\n<p class='err'>Fehler bei Flurst&uuml;ck.</p>";
+	if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}	
 }
 
@@ -153,11 +156,12 @@
 	."\n\t<td class='head fla' title='amtliche Fl&auml;che in Quadratmeter'>Fl&auml;che</td>"
 	."\n\t<td class='head hsnr' title='Hausnummer aus der Lagebezeichnung des Flurst&uuml;cks'>HsNr.</td>"
-	."\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>"
+	."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>"
 ."\n</tr>";
 $j=0;
-$cnths=0; // Count Haus
 $gwgmkg=""; // Gruppenwechsel
 $gwflur="";
-
+$cnths=0; // Count Haus-Lagebezeichnung
+
+$zpaar=false; // Zeilen-Farbwechsel
 while($rowf = pg_fetch_array($resf)) {
 	$gmkg=$rowf["bezeichnung"];
@@ -166,8 +170,10 @@
 	if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];}
 	$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
-	$lgml=$rowf["lgml"]; // ID von "Lage Mit" oder leer
+	$lgml=$rowf["lgml"]; // ID von "Lage Mit/Ohne"
 	$ltyp=$rowf["ltyp"]; // mit/ohne HsNr
 
-	echo "\n<tr>"
+	if ($zpaar) {$trclass='paa';} else {$trclass='unp';}
+	$zpaar=!$zpaar;
+	echo "\n<tr class='".$trclass."'>"
 		."\n\t<td>";
 		if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";}
@@ -191,14 +197,10 @@
 		."\n\t<td class='hsnr'>".$rowf["hausnummer"]."</td>"
 		."\n\t<td>\n\t\t<p class='nwlink noprint'>";
-
-			// Link "Lage"
-// ++++ FEHLER kann auch Typ "o" sein
-			if ($lgml != '') {
+			if ($ltyp == 'm') { // nur Typ "Mit Haus" anzeigen. Dar Typ 'o' ist immer gleich und identisch mit dem Link im Kopf
 				echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=".$ltyp."&amp;gmlid=".$lgml;
 				if ($showkey) {echo "&amp;showkey=j";}
-				echo "' title='Lage Mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;";
+				echo "' title='Lagebezeichnung mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>&nbsp;";
 				$cnths++;
 			}
-
 			// Link FlurstÃŒcksnachweis
 			echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
@@ -212,6 +214,6 @@
 if ($j > 6) {
 	echo "<p class='cnt'>".$j." Flurst&uuml;cke";
-	if ($cnths > 4) {echo ", ".$cnths." H&auml;user";}
-	echo "</p>";
+	if ($cnths > 1) {echo " und ".$cnths." Hauptgeb&auml;ude";}
+	echo " mit dieser StraÃe in der Lagebezeichnung</p>";
 }
 pg_free_result($resf);
@@ -222,5 +224,5 @@
 	<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
 	<a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
-	<a title="Export als CSV" href='javascript:ALKISexport("")'><img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp;
+	<a title="Export als CSV" href='javascript:ALKISexport("")'>alle<img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp;
 	<a title="CSV - nur Flurst&uuml;cke mit Hausnummer" href='javascript:ALKISexport("m")'>mit HsNr<img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp;
 	<a title="CSV - nur Flurst&uuml;cke ohne Hausnummer" href='javascript:ALKISexport("o")'>ohne<img src="ico/download.png" width="16" height="16" alt="Export"></a>&nbsp;
