lokale Version:
PHP Version 4.3.6
Apache/2.0.50 (Fedora)
MySQL 3.23.58 API Version
online Version:
Apache/1.3.27 (Linux/SuSE) mod_jk/1.2.2-dev mod_ssl/2.8.12 OpenSSL/0.9.6i PHP/4.3.4 mod_perl/1.27 FrontPage/4.0.4.3
MySQL 3.23.55
Mir ist bewusst, dass es nicht gerade gut ist auf 2 verschiedenen Server-Umgebungen zu programmieren, aber ich wollte eigentlich eine serverunabhängige Site haben weil ich ja net weiss wie lange ich ncoh bei dem Anbieter bleibe zumal der Server schon ein paar Mal eingebrochen ist , aber egal!
Zum eigentlichen Problem:
lokal sieht die Sache gut aus und er füht auch nicht unnötig neue Zeilen ein, aber es werden auch nicht die zu alten Einträge gelöscht, also gehe ich davon aus, dass an folgendem Befehl etwas nicht korrekt abläuft
PHP-Code:
mysql_query("DELETE * FROM tracker WHERE zeitpunkt < DATE_SUB(date, INTERVAL 5 MINUTES)");
Online sieht die Sache allerdings schon ganz anders und das ist ja auch das Problem.
Erstens werden wie bei der lokalen Variante auch die zu alten Einträge nicht gelöscht (ich spare mir das Posten der Zeile)
Zweitens wird obwohl die IP gleich bleibt jedes Mal eine neue Zeile angelegt! Also wird wohl etwas an diesem Befehl vom Server net richtig verarbeitet würde ich sagen
PHP-Code:
if (mysql_num_rows($anfrage)<=0) {
mysql_query("INSERT INTO tracker (ip, zeitpunkt) VALUES ($ipclean, NOW())");
mysql_query('UPDATE counter SET hits=hits+1');
} else {
mysql_query("UPDATE tracker SET zeitpunkt=NOW() WHERE ip=$ipclean");
}
An der if-Abfrage scheint es wohl ein Problem zu geben, da jedes Mal der erste teil durchlaufen wird und nicht falls von Nöten der Else-Teil! Liegt das an den unterschiedlichen PHP-Versionen ?
Trotzdem schon einmal großen Dank für Deine Hilfe! Wäre super wenn das Problem auch noch gelößt werden könnte!