PHP ver gevorderde |
|
Waarschijnlijk herrineren jullie jullie nog waarschijn de statistieken wedstrijd. Waar dit script als winnaar uit de bus is gekomen. Ik had eens geprobeerd om een statistieken-script te maken en om mijn resultaten ongeveer te controleren gebruik ik dit script. Maar kan het zijn dat daar een paar fouten instaan.(geen syntaxis-errors)
Regel 183-195 van log.inc.php
$my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."'") or log::__error(mysql_error());
$nu_che = mysql_num_rows($my_che);
if($nu_che >= 1){
$as_che = mysql_fetch_assoc($my_che);
mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."'") or log::__error(mysql_error());
}
else{
mysql_query("
INSERT INTO log
(os, time, page, ip, provider, land, day, month, year, browser)
VALUES
('".$os."', '".time()."', '".$page."', '".$ip."', '".$provider."', '".$van."', '".date('d')."', '".date('m')."', '".date('y')."', '".$browser."')") or log::__error(mysql_error());
}
if($nu_che >= 1){ mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."'") or log::__error (mysql_error()); } else{ INSERT INTO log (os, time, page, ip, provider, land, day, month, year, browser) VALUES ('".$os."', '".time()."', '".$page."', '".$ip."', '".$provider."', '".$van."', '".date('d')."', '".date('m')."', '".date('y')."', '".$browser."')") or log::__error (mysql_error()); }
Wanneer er gebruiker geen dynamisch ip heeft. Dan blijft die steeds één rij behouden,en geen nieuwe ingevoerd.
$my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."'")
$my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."'")
Verandert naar:
$my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."' AND day='".date('d')."' AND month='".date('m')."' AND year='".date('y')."'")
$my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."' AND day='".date('d')."' AND month='".date('m')."' AND year='".date('y')."'")
en dan ook een paar regels verder:
mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."'")
mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."'")
verandert in:
mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."' AND day='".date('d')."' AND month='".date('m')."' AND year='".date('y')."'")
mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."' AND day='".date('d')."' AND month='".date('m')."' AND year='".date('y')."'")
Is deze wijziging correct? Of was het oorspronkelijke correct?
|