phpbar.de logo

Mailinglisten-Archive

[php] IF-Auslöser von mySQL-Query ignoriert

[php] IF-Auslöser von mySQL-Query ignoriert

Cyrus Mandrake e.torch at web.de
Mon Jun 25 08:43:25 CEST 2007


Guten Morgen zusammen,
ich sitze jetzt schon seit 1,5h vor einem ziemlich mysteriösen Problem:
Ich habe vor einen bestimmten mySQL Query nur dann auszulösen, wenn
jemand neu auf die Webseite kommt.
Mein Ansatz:

$parsed_referer = parse_url($_SERVER['HTTP_REFERER']);

if ($parsed_referer['host'] != $_SERVER['HTTP_HOST']) {
	(...)MYSQL-QUERY(...)
	echo "test1";
} else {
	echo "test2";
}

Das Verrückte hierbei ist, dass ich _jedesmal_ gleich mehrere (zwischen
3 und 5) Zeilen in die Datenbank geschrieben bekomme. Auch wenn die
else-Schleife ausgelöst wird und der Teil mit dem Query garnicht
durchlaufen kann/soll/tut ^^. Es wird dann "test2" ausgegeben, jedoch
finde ich wieder 3-5 (die Anzahl ist auch völlig willkürlich) neue
Einträge in der Datenbank.
Sobald ich nun den if-Auslöser testweise ändere (z.B. ($_GET['test'] ==
"1")) verhält sich die Schleife völlig normal, gibt alles richtig aus
und trägt, wenn ausgelöst, auch nur einmal in die DB ein.

Ich werde jetzt wohl mit einem anderen Ansatz fahren und die Idee mit
dem HTTP_HOST sein lassen. Trotzdem würde mich interessieren, ob mir
jemand erklären kann, wieso sich PHP hier so verhält? Oder ob ich
einfach nen Denkfehler drin habe, den ich momentan nicht sehe.

Jedenfalls schon mal vielen Dank und einen hoffentlich besseren Start in
die Arbeitswoche ;-)

Cordially,
Cyrus

php::bar PHP Wiki   -   Listenarchive