EKKi: if-anweisung mit leerem textfeld wird nicht ausgeführt

Beitrag lesen

Mahlzeit wtf,

Das mit dem $data = $_GET["data"]; davor hatte ich vorhin schon mal probiert, aber da war der ganze Rest wahrscheinlich noch irgendwie anders....

Lass das mit dem $data = $_GET["data"]; mal lieber weg - Du siehst ja, was das für Probleme bringen kann: im späteren Verlauf des Skripts wird überhaupt nicht mehr klar, was nun eigentlich in welchen Variablen steht und warum und woher welcher Inhalt stammt und ob da überhaupt was drin ist.

Darüberhinaus sollte Dein Skript absolut nichts und niemandem vertrauen: ALL INPUT IS EVIL! Das bedeutet aber auch, dass es keinerlei Benutzereingaben bzw. Formulardaten ungeprüft in irgendwelche Datenbankabfragen übernimmt - wer weiß schon, was da drin steht?

Ich würde Dir folgendes vorschlagen:

$insert = sprintf("INSERT INTO Marker(Inhalt, lat, lng) VALUES ('%s', '%s', '$s')",  
                  mysql_real_escape_string($_GET['data']),  
                  mysql_real_escape_string($_GET['lat']),  
                  mysql_real_escape_string($_GET['lng']));

Das sieht zwar auf den ersten Blick komplizierter aus und es erfordert auch mehr Tipparbeit ... dafür kann aber jeder, der sich den Code anschaut (auch Du, mein Sohn Brutus, nächstes Jahr oder übernächsten Monat), genau erkennen, welche Daten dort wie verwurstet werden.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|