Die Datei online_eintrag.php PHP-Code:
<?
if(!isset($_COOKIE['ID'])) {
$select_all_Besucher = mysql_query("SELECT * FROM `Online` WHERE `IP` = '$IP'");
if(mysql_num_rows($select_all_Besucher) > 0) {
mysql_query("UPDATE `Online` SET `last_action` = NOW(), `Wo` = '$page' WHERE `IP` = '$IP'");
}
else {
$select_Gäste = mysql_query("SELECT * FROM `Online` WHERE `User_ID` = 0");
$anzahl_Gäste = mysql_num_rows($select_Gäste);
$Gast_nummer = $anzahl_Gäste+1;
mysql_query("INSERT INTO `Online` VALUES ('$IP','$page','0','Gast[$Gast_nummer]',NOW())");
}
}
else {
$select_all_User = mysql_query("SELECT * FROM `Online` WHERE `User_ID` = '".$_COOKIE['ID']."'");
if(mysql_num_rows($select_all_User) > 0) {
mysql_query("UPDATE `Online` SET `last_action` = NOW(), `Wo` = '$page' WHERE `User_ID` = '".$_COOKIE['ID']."'");
}
else {
mysql_query("INSERT INTO `Online` VALUES ('$IP','$page','".$_COOKIE['ID']."','".$_COOKIE['Nickname']."',NOW())");
}
}
?>
Es wird geprĂĽft ob der User einen Cookie mit dem Wert "ID" besitzt.(geht natĂĽrlich auch mit SESSION).
Wenn ja,wird er in die Tabelle "Online" mit der IP,ID,der page wo er sich befindet,und der letzten Aktion eingetragen,bzw. seine letzte Aktion/page ge"updatet".
Wenn nein,wird er als Gast m,it der ID = 0 eingtragen....
PrĂĽfen ob der User seit x sek nichts mehr gemacht hat DAS KOMMT IN DEN INDEX PHP-Code:
$IP = $_SERVER['REMOTE_ADDR'];
include "online_eintrag.php";
$timestamp = time();
$max_online_time = "120";//Maximale Zeit,die der User als Online angezeigt werden soll(ohne aktion)
$delete_time = $timestamp-$max_online_time;
$delete_time_rt = date("YmdHis" , $delete_time);
mysql_query("DELETE FROM `Online` WHERE `last_action` < '$delete_time_rt' ");
$page ist hierbei die variable $_GET['page']..
Die Tabelle "Online"
Feld1:IP(varchar(15))
Feld2:Wo(varchar(20))
Feld3:User_ID(varchar(15))
Feld4:User_Nickname(varchar(50))
Feld5:last_action(timestamp(14))