Hallo,
ich habe einen Counter programmiert, bis jetzt hat auch alles immer funktioniert, doch Seit die Seite online ist, und viele Besucher drauf sind gibt es das Problem, dass der Wert von "gestern" immer auf 0 gesetzt wird.
Woran liegt das? Kann das vielleicht auch ein einer fehlerhaten mysql_abfrage liegen? Aber auf meinem PC hat noch alles funktioniert.
Hier das Script:
ich habe einen Counter programmiert, bis jetzt hat auch alles immer funktioniert, doch Seit die Seite online ist, und viele Besucher drauf sind gibt es das Problem, dass der Wert von "gestern" immer auf 0 gesetzt wird.
Woran liegt das? Kann das vielleicht auch ein einer fehlerhaten mysql_abfrage liegen? Aber auf meinem PC hat noch alles funktioniert.
Hier das Script:
PHP:
<?php
if(!defined('IN_THE_PAGE'))
header('index.php?sid='.$sid);
// Wert von "gestern" updaten und "heute" zurücksetzten
$heute_nacht = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
$sql = mysql_query("SELECT * FROM counter_log WHERE time > '$heute_nacht' LIMIT 1") or die(mysql_error());
if(!$eintrag = mysql_fetch_object($sql))
{
mysql_query("UPDATE counter SET gestern = heute LIMIT 1");
mysql_query("UPDATE counter SET heute = 0 LIMIT 1");
}
// Alte einträge löschen
$sixhoursago = time() - 60*60*6;
mysql_query("DELETE FROM counter_log WHERE time <= '$sixhoursago'");
//reloadsperre
$sql = mysql_query("SELECT * FROM counter_log WHERE ip='".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error());
if(!$t = mysql_fetch_object($sql))
{
$c = mysql_fetch_object(mysql_query("SELECT heute, gesamt FROM counter LIMIT 1"));
$c->heute++;
$c->gesamt++;
mysql_query("UPDATE counter SET heute = '$c->heute', gesamt = '$c->gesamt'");
mysql_query("INSERT INTO counter_log(time, ip)
VALUES('".time()."', '".$_SERVER['REMOTE_ADDR']."')");
}
$sql = mysql_query("SELECT id FROM users");
$num_users = mysql_num_rows($sql);
$counter = mysql_fetch_object(mysql_query("SELECT * FROM counter LIMIT 1"));
$template->assign_vars(array( 'COUNTER_TODAY' => $counter->heute,
'COUNTER_YESTERDAY' => $counter->gestern,
'COUNTER_ALL' => $counter->gesamt,
'COUNTER_USERS' => $num_users));
?>