PhP текущий онлайн сайта

И так, если понадобится на сайте показывать текущее количество online пользователей, это можно реализовать так. Создадим таблицу:

CREATE TABLE useronline (
timestamp int(15) DEFAULT ‘0’ NOT NULL,
ip varchar(40) NOT NULL,
file varchar(100) NOT NULL,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY file (file)
);

а теперь перейдем к php скрипту:

<?php
// Ваши настройки MySQL сервера
$server = "xxx";
$db_user = "xxx";
$db_pass = "xxx";
$database = "xxx";
//Конектимся к базе
$db = mysql_connect($server, $db_user,$db_pass);
mysql_select_db($database,$db);

$timeoutseconds = 300; //5 minutes

$timestamp = time();
$timeout = $timestamp-$timeoutseconds;

$insert = mysql_query("INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')",$db);
if(!($insert)) {
print "Useronline Insert Failed > ";
}
$delete = mysql_query("DELETE FROM useronline WHERE timestamp<$timeout",$db);
if(!($delete)) {
print "Useronline Delete Failed > ";
}
$result = mysql_query("SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'",$db);
if(!($result)) {
print "Useronline Select Error > ";
}
$user = mysql_num_rows($result);

mysql_close();

// Вывод результатов
if($user == 1) {
print("$user user online\n");
} else {
print("$user users online\n");
}
?>

Случайные Статьи

Loading…


Количество просмотров :2208

Оставьте коментарий