Index: trunk/info/info/alkisn/alkishaus.php
===================================================================
--- trunk/info/info/alkisn/alkishaus.php	(revision 377)
+++ trunk/info/info/alkisn/alkishaus.php	(revision 387)
@@ -7,4 +7,5 @@
 	2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermÃ¶glichen
 	2016-12-05 Array-Behandlung ax_gebaeude.name
+	2017-06-08 Validierung Eingabeparameter, Feinkorrekturen
 
 	ToDo:
@@ -18,13 +19,20 @@
 */
 session_start();
-$id="n";
-$allfld = "n";
-$cntget = extract($_GET);
+
+$allfld = "n"; $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;}
+
+if (!preg_match('#^[j|n]{0,1}$#', $allfld)) {die ("Eingabefehler allfld");}
+if ($allfld == "j") {$allefelder=true;} else {$allefelder=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;}
-if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;}
 ?>
 <!doctype html>
@@ -32,11 +40,9 @@
 <head>
 	<meta charset="utf-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 	<title>ALKIS Daten zum Haus</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
 	<link rel="shortcut icon" type="image/x-icon" href="ico/Haus.ico">
-	<style type='text/css' media='print'>
-		.noprint {visibility: hidden;}
-		td.mittelspalte	{width: 190px;}
-	</style>
+	<style type='text/css' media='print'> td.mittelspalte {width: 190px;} </style>
 </head>
 <body>
@@ -44,5 +50,5 @@
 
 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.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>";
 
 // G e b a e u d e
@@ -65,12 +71,11 @@
 $resg = pg_execute("", $v);
 if (!$resg) {
-	echo "\n<p class='err'>Fehler bei Geb&auml;ude.<br>".pg_last_error()."</p>\n";
-	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	echo "\n<p class='err'>Fehler bei Geb&auml;ude.<br>".pg_last_error()."</p>";
+	if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 
 // Balken
-echo "<p class='geb'>ALKIS Haus ".$gmlid."&nbsp;</p>\n"; // ++ Kennzeichen?
-
-echo "\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>\n";
+echo "\n<p class='geb'>ALKIS Haus ".$gmlid."&nbsp;</p>"; // ++ Kennzeichen?
+echo "\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>";
 
 // Kennzeichen in Rahmen 
@@ -166,6 +171,6 @@
 	$resl = pg_execute("", $v);
 	if (!$resl) {
-		echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>\n";
-		if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";}
+		echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>";
+		if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";}
 	}
 	$zhsnr=0;
@@ -186,6 +191,7 @@
 		echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;";
 		if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}			
-		echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp."'>"
-			.$snam."&nbsp;".$hsnr;
+		echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp;
+			if ($showkey) {echo "&amp;showkey=j";}
+			echo "'>".$snam."&nbsp;".$hsnr;
 			if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;}
 		echo "</a><br>";
@@ -287,6 +293,6 @@
 				$resw = pg_execute("", $v);
 				if (!$resw) {
-					echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>\n";
-					if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";}
+					echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>";
+					if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";}
 				}
 				$zw=0;
@@ -382,5 +388,5 @@
 	echo "\n</table>";
 }
-if ($gebnr == 0) {echo "<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";}
+if ($gebnr == 0) {echo "\n<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";}
 
 // ++ ToDo: Verschnitt mit FS?
