phpbar.de logo

Mailinglisten-Archive

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

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

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mon Jun 25 08:50:02 CEST 2007


Hallo Cyrus,

Am Montag, 25. Juni 2007 schrieb Cyrus Mandrake:
> 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.

dafür müßtest Du mal den vollständigen Quelltext mitschicken. Wenn 
$_GET['test'] etwas bewirkt und oben aber nicht in dem Quelltextauszug 
steht, kann Dir leider niemand helfen. :-)


Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive