Hi,
habe folgendes Problem:
Ich habe einen Counter in PHP und MyQL. Dieser zeichnet die IP-Adresse, Tag, Monat, Jahr, Stunde und Minute auf.
Jetzt soll der Counter eine Zeitsperre von 30min bekommen, dass also nur dann aufgezeichnet wird, wenn der letzte Besuch 30min zurück liegt.
Im Moment ist es so, dass jede IP nur einmal aufgezeichnet wird.
Wie kann man das anstellen, dass man überprüft ob seit dem letzten Besuch 30min vergangen sind?
Im Prinzip würde ich jetzt einfach die Minuten nehmen und es anhand der Minuten machen. Aber was ist wenn der Besuch um 17:40 war und der nächste Besuch um 18:50? Dann sind es in den Minuten nur 10min unterschied.
Hat da jemand eine Idee?
habe folgendes Problem:
Ich habe einen Counter in PHP und MyQL. Dieser zeichnet die IP-Adresse, Tag, Monat, Jahr, Stunde und Minute auf.
Jetzt soll der Counter eine Zeitsperre von 30min bekommen, dass also nur dann aufgezeichnet wird, wenn der letzte Besuch 30min zurück liegt.
Im Moment ist es so, dass jede IP nur einmal aufgezeichnet wird.
PHP-Code:
<?php
$sql = "SELECT * FROM counter WHERE IP='$ip'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if ($count == 1)
{
#Ausgabe wenn die IP bereits in der Datenbank vorkommt
#Ausgabe wenn die IP bereits in der Datenbank vorkommt Ende
}
else
{
#IP eintragen
$db_link = mysql_connect('localhost', 'user', xxx);
if($db_link)
{
if(mysql_select_db(MYSQL_DATABASE, $db_link))
{
echo "Die Datenbank user wurde ausgewählt";
}
}
else
{
echo "Es konnte keine Verbindung aufgebaut werden";
}
$sql="
INSERT INTO counter
(IP,Browser,Host,System,Referer,Tag,Monat,Jahr,Stunde,Minute)
VALUES
('$ip','$browser','$host','$system','$referer','$tag','$monat','$jahr','$stunde','$minute')";
mysql_query($sql) or die(mysql_error()."
Query: ".$sql);
}
?>
Wie kann man das anstellen, dass man überprüft ob seit dem letzten Besuch 30min vergangen sind?
Im Prinzip würde ich jetzt einfach die Minuten nehmen und es anhand der Minuten machen. Aber was ist wenn der Besuch um 17:40 war und der nächste Besuch um 18:50? Dann sind es in den Minuten nur 10min unterschied.
Hat da jemand eine Idee?
Kommentar