Сколько человек на сайте?
Категория: Php | Автор: admins | (17 ноября 2016)
 

Сколько человек на сайте?


Создадим таблицу www_online:

Что нам понадобится для работы:

1. База данных mysql
2. PHP4
CREATE TABLE www_online (
hid int(11) NOT NULL auto_increment,
sess_id char(255) NOT NULL default '',
last_time char(255) NOT NULL default '',
PRIMARY KEY (hid)
) TYPE=MyISAM;

В этой базе мы будем хранить соответственно:

Hid – ID, просто так?
Sess_id – ID сессии пользователя
Last_time – Время последней активности пользователя
в секундах с начала эпохи (1970 г.).

Теперь код функции:
function show_online_user()
{
global $database; //Импортируем массив с данными mysql
session_start(); //Начинаем сессию
session_set_cookie_params("0"); //Задаем время жизни куки

//Переменные id - id сессии, time-текущее время
$id=session_id(); $time=time();

// past-время, после которого надо удалять сессии
$past=time()-500;

//Коннектимся к базе данных
$link=mysql_connect($database[dbserv], $database[dbuser], $database[dbpass]);
mysql_select_db($database[dbname]); //Выбираем базу данных

//Удаляем старые сессии
mysql_query("DELETE FROM www_online WHERE last_time < '$past'");

//Выбираем таблицу
$result=mysql_query("SELECT last_time FROM www_online WHERE sess_id='$id'");
$rows=mysql_num_rows($result); //Если в таблице есть sess_id с $id, то равно 1, иначе 0
if ($rows!="0")
{
mysql_query("UPDATE www_online SET last_time='$time' WHERE sess_id='$id'");
}
else
{
mysql_query("INSERT INTO www_online (last_time, sess_id) VALUES ('$time', '$id')");
}
$result = mysql_query("SELECT * FROM www_online"); //Выбираем все сессии
$count = mysql_num_rows($result); //Считаем число сессий
return "Сейчас на сайте $count человек(а)"; //Возвращаем число юзеров
mysql_close($link); //Закрываем коннект с mysql
}

Использование в php:

Echo show_online_user();







 (Голосов: 0)

 



Была ли полезной Вам статья?
Да Нет

Только зарегистрированные пользователи могут оставлять в данной новости свои комментарии.

У нас искали:
mail  сколько людей сейчас на сайте ( 18 Октября 2016г. 10:52)
mail  php сколько человек на сайте ( 2 Июля 2016г. 21:30)