619 Views
PHP-Skripte: Counter
Anzahl der User auf der Webseite
Dieses Skript zählt die Anzahl der Internet-Nutzer, die sich gerade auf Ihrer Webseite befinden. Dabei werden einzelnen User durch die Session-ID unterschieden.
Dies hat den Vorteil, dass einzelne User erkannt werden, auch wenn diese sich eine IP-Adresse teilen (z.B. durch ein Netzwerk).
Datenbank-Tabelle erstellen:
CREATE TABLE 'user_online' ( 'session' char(100) NOT NULL default '', 'time' int(11) NOT NULL default '0' ) TYPE=MyISAM;
PHP-Datei:
<?php
session_start();
$session = session_id();
$time = time();
$time_check = $time - 600; // 10 Minuten
$host = "localhost"; // Host name
$username = ""; // MySql Username
$password = ""; // MySql Passwort
$db_name = ""; // Datenbank-Name
$tbl_name = "user_online"; // Tabellen-Name
// Verbindung mit der Datenbank wird hergestellt
mysql_connect("$host", "$username", "$password")
or die ("cannot connect to server");
mysql_select_db("$db_name") or die ("cannot select DB");
$sql = "SELECT * FROM ".$tbl_name." WHERE session = '".$session."' ";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count == "0"){
$sql1 = "INSERT INTO ".$tbl_name." (session, time)
VALUES ('".$session."', '".$time."') ";
$result1 = mysql_query($sql1);
} else {
$sql2 = "UPDATE ".$tbl_name." SET time = '".$time."'
WHERE session = '".$session."' ";
$result2 = mysql_query($sql2);
}
$sql3 = "SELECT * FROM ".$tbl_name." ";
$result3 = mysql_query($sql3);
$user_online = mysql_num_rows($result3);
echo "User online : ".$user_online." ";
$sql4 = "DELETE FROM ".$tbl_name." WHERE time < ".$time_check." ";
$result4 = mysql_query($sql4);
mysql_close();
?>
Funktionen:
Schlagworte:
online, User, Skript, Seite, Quelltext, PHP, Counter, Anzahl,