Nabend!
kann mir jemand sagen warum MySQL bei jedem Aufruf einen Eintrag in die Tabelle "datalog" schreibt?
es sollte doch eigentlich nur wenn die genutzte IP bereits genutzt wird?
Das ganze ist aus einer Funktion herauskopiert!
$logip => aktuelle IP
$cntip => Zeit bis zum erneuten hochzählen von "besucher" & "zugriffe"
$zeit => time();
Mehr Info? einfach Fragen ;-)
kann mir jemand sagen warum MySQL bei jedem Aufruf einen Eintrag in die Tabelle "datalog" schreibt?
es sollte doch eigentlich nur wenn die genutzte IP bereits genutzt wird?
Das ganze ist aus einer Funktion herauskopiert!
$logip => aktuelle IP
$cntip => Zeit bis zum erneuten hochzählen von "besucher" & "zugriffe"
$zeit => time();
PHP-Code:
mysql_query("DELETE FROM datalog WHERE time<'".($zeit-86400)."' OR time>'".($zeit+100)."' OR ip=''");
if(ereg ("(^[0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}$)",$logip)) {
$ip_check = mysql_num_rows(mysql_query("SELECT id FROM datalog WHERE ip='".$logip."' AND time<'".$cntips."'"));
} else $ip_check=0;
if($ip_check>0){
mysql_query("UPDATE statistik SET zugriffe=zugriffe+1");
mysql_query("UPDATE datalog SET time='".$zeit."' WHERE ip='".$logip."' AND time>'".$cntips."'");
} elseif ($ip_check==0) {
mysql_query("UPDATE statistik SET besucher=besucher+1,zugriffe=zugriffe+1");
mysql_query("INSERT INTO datalog SET ip='".$logip."',time='".$zeit."'");
}
Kommentar