Hallo Gemeinde.
Ich probiere mich gerade an meinem ersten Zähler für allgemeine Seiten Besuche.
Hier das bisherige Script!
Mein Problem ist jetzt wie kann ich es machen das nach dem Ablauf von 24 Stunden die jeweiligen IP's gelöscht werden. Wenn eine IP drin ist die die Seite grad wieder Besucht wird auch kein neuer Eintrag gemacht!
Das Datumsfeld habe ich in int(10) angelegt und trage es wie zu sehen mit der time() funktion ein!
Es würde schon reichen wenn man mir eine funktion dafür geben könnte!
Danke für eure Hilfe mfg der litter!
Ich probiere mich gerade an meinem ersten Zähler für allgemeine Seiten Besuche.
Hier das bisherige Script!
PHP-Code:
<?php
//ermitteln ob eine ip in Tabelle steht die grad die seite wieder besucht!
$sqlbefehl ="
Select
ip
From
counter
";
$erg_ip = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
$ip_wert = mysql_fetch_assoc($erg_ip);
$ip = $_SERVER['REMOTE_ADDR']; //IP Adresse holen
$time = time(); //Datum und Zeit eintragen
//wenn IP Adresse noch nicht vorhanden einen Eintrag in DB machen
if($ip_wert['ip'] != $ip)
{
if(get_magic_quotes_gpc())
{
$ip = stripslashes($ip);
$time = stripslashes($time);
}
$sqlbefehl ="
Insert Into counter
(
ip,
datum
)
VALUES
(
'".mysql_real_escape_string($ip)."',
'".mysql_real_escape_string($time)."'
)
";
$result = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
}
//IP nach 24 Stunden löschen Datensatz bleibt aber bestehen zum zählen!
$ip_dell ="";
if(get_magic_quotes_gpc())
{
$ip_dell = stripslashes($ip_dell);
}
$sqlbefehl ="
Update
counter
Set
ip='".mysql_real_escape_string($ip_dell)."'
Where
datum<'$update_time'
";
$res_ip = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
//Counterstand ausgeben
echo '<table cellpadding="0" cellspacing="0" width="150" boder="1">';
echo '<tr>';
echo '<td>';
$sqlbefehl ="
Select
id_count
From
counter
Order By
id_count desc
Limit
1
";
$erg_id = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
$wert = mysql_fetch_array($erg_id);
echo 'Gesamt: '.$wert['id_count'].'';
echo '</td>';
echo '</tr>';
echo '</table>';
?>
Das Datumsfeld habe ich in int(10) angelegt und trage es wie zu sehen mit der time() funktion ein!
Es würde schon reichen wenn man mir eine funktion dafür geben könnte!
Danke für eure Hilfe mfg der litter!

Kommentar