fastix®: Problem mit Get-Variablen

Beitrag lesen

Moin!

Hier meine Aufruf in der empfänger PHP-Site:

if ($_GET["command"]=="buffer"){  

$radius = $_GET['radius'];

$gastro  = "select g.name, askml(g.the_geom), g.plz, g.ort, g.strasse, g.hausnummer,
g.wirt, p.preis, t.getraenk, g.ruhe, g.telefon, g.email, g.hp
from gastro g, preis p, getraenke t where
Contains (buffer(transform(the_geom,31286),$radius),
transform(GeometryFromText ( 'POINT (15.445940  47.059043)',4326), 31286 ))";


>   
> Mein Problem ist: Mir kommt vor das nur die erste Get-Variable verspeichert bzw. ausgelesen werden kann!  
  
Wir programmieren. Uns kommt nichts vor. Etwas ist oder es ist nicht.  
  
1\. Überprüfe, was ankommt:  
~~~php
  
<pre>  
<?php print_r($_GET); ?>  
</pre>  

zeigt es Dir. http://php.net/manual/de/function.print-r.php

2. Dein Code ist gefährlich! Es besteht die Gefahr von "SQL-Injections"!
http://de.wikipedia.org/wiki/SQL-Injection

Besser:

  
# Datenbank-Ressource ist in $DB  
if (isset ($_GET['command']) && $_GET['command']=='buffer' && isset($_GET['radius'])) {  
    $gastro  = 'SELECT  
                  `g`.`name`,  
                  ASKML(`g`.`the_geom`),  
                  `g`.`plz`,  
                  `g`.`ort`,  
                  `g`.`strasse`,  
                  `g`.`hausnummer`,  
                  `g`.`wirt`,  
                  `p`.`preis`,  
                  `t`.`getraenk`,  
                  `g`.`ruhe`,  
                  `g`.`telefon`,  
                  `g`.`email`,  
                  `g`.`hp`  
		FROM `gastro` AS `g`, `preis` AS `p`, `getraenke` AS `t`  
                WHERE CONTAINS (  
                  BUFFER(TRANSFORM(`the_geom`,31286),  
                  '.mysql_real_escape_string($DB, $_GET['radius']).'),  
                  TRANSFORM(GeometryFromText ( \'POINT (15.445940  47.059043)\',4326), 31286 )  
                )';  
}  

/*
      Wenn Du eine Zahl erwartest genügt statt "mysql_real_escape_string($_GET['radius'])"
      auch: "($_GET['radius']*1)";
    */

http://php.net/manual/de/function.mysql-real-escape-string.php

Weiß irgendjemand woran das liegen könnte!

In Deinem Fall vermute ich einen "Typo".

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development