Hallo Leute!
Ich bin mit meinem Latein gerade total am Ende. Ich habe ein eigenes kleines Skript gebastelt, welches die Seitenaufrufe einer Webpage in eine MySQL-Tabelle schreiben soll.
Das Skript sieht wie folgt aus:
Soweit so gut, das ganze funktioniert auch, aber...
...ich habe dieses Skript in eine extra Datei geschrieben (logschreiben.php), die ich via PHP in die entsprechenden Webseiten einbinde.
Das ganze sieht wie folgt aus:
Das für mich völlig unverständliche:
Alle Seiten des Webprojekts (insgesamt 8 Seiten) liegen im gleichen Verzeichnis und sind genau gleich aufgebaut, alle beginnen exakt wie im obigen HTML-Code angegeben.
Trotzdem verursachen die unterschiedlichen acht Seiten völlig unterschiedliche Anzahlen an MySQL-Tabelleneinträgen. Der Datensatz soll pro Seitenaufruf logischer Weise nur einmal in die DB geschrieben werden. Bei 2 von 8 Seiten funktioniert das auch, die anderen Seiten erzeugen 3, 8 oder sogar 11 identische Datensätze. Ich sehe überhaupt keinen logischen Grund für diese Tatsache, da das Skript auf allen Seiten, an gleicher Stelle, gleich eingebunden ist....
Hat da jemand mal einen Tip für mich?
EDIT:
Habe das ganze auch mit require getestet... aber es kommt zum selben Problem...
Ich bin mit meinem Latein gerade total am Ende. Ich habe ein eigenes kleines Skript gebastelt, welches die Seitenaufrufe einer Webpage in eine MySQL-Tabelle schreiben soll.
Das Skript sieht wie folgt aus:
PHP-Code:
$hitip = $_SERVER['REMOTE_ADDR'];
$hitref = $_SERVER['HTTP_REFERER'];
$hitbrowser = $_SERVER['HTTP_USER_AGENT'];
$hitisp = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$hittime = date("d.m.Y H:i");
$suchelement = "meine-seite-xxx.de";
$getpos = strpos($hitref, $suchelement);
if ($getpos !== false) {
$hitstatus = 1;
}
elseif($hitref == "") {
$hitstatus = "E"; }
else {
$hitstatus = 2; }
$hithost = "meine-seite-xxx.de";
$hituser = "xxxx";
$hitpass = "xxxx";
$hitdaba = "xxxx";
$hitdz = mysql_connect($hithost, $hituser, $hitpass);
mysql_select_db($hitdaba, $hitdz);
$query = "INSERT into pagehits"
."(hitid, hittime, hitip, hitisp, hitref, hitbrowser, hitstatus)"
."VALUES "
."('$hitid', '$hittime', '$hitip', '$hitisp', '$hitref', '$hitbrowser', '$hitstatus')";
mysql_close($hitdz);
...ich habe dieses Skript in eine extra Datei geschrieben (logschreiben.php), die ich via PHP in die entsprechenden Webseiten einbinde.
Das ganze sieht wie folgt aus:
Code:
<?php include 'logschreiben.php'; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- blubb blabla --> </html>
Alle Seiten des Webprojekts (insgesamt 8 Seiten) liegen im gleichen Verzeichnis und sind genau gleich aufgebaut, alle beginnen exakt wie im obigen HTML-Code angegeben.
Trotzdem verursachen die unterschiedlichen acht Seiten völlig unterschiedliche Anzahlen an MySQL-Tabelleneinträgen. Der Datensatz soll pro Seitenaufruf logischer Weise nur einmal in die DB geschrieben werden. Bei 2 von 8 Seiten funktioniert das auch, die anderen Seiten erzeugen 3, 8 oder sogar 11 identische Datensätze. Ich sehe überhaupt keinen logischen Grund für diese Tatsache, da das Skript auf allen Seiten, an gleicher Stelle, gleich eingebunden ist....
Hat da jemand mal einen Tip für mich?
EDIT:
Habe das ganze auch mit require getestet... aber es kommt zum selben Problem...


Kommentar