[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пользователей онлайн
Dizzy
Как осуществить запись пользователей, которые авторизованы и на данный момент на сайте.
У меня в сессию идет запись ID, но стоит без ограничений по времени.



Спустя 4 часа, 38 минут, 54 секунды (26.05.2011 - 23:34) BubbleBee написал(а):
Это мне под силу. Я у себя делал так:

Сначала создаем таблицу:


CREATE TABLE `onlineusers` (
`sid` varchar(32) NOT NULL,
`lastdate` datetime NOT NULL
) ENGINE=MyISAM;


Сам скрипт будет выглядеть так:


<?php 
session_start();

$interval = 15;

$sid = session_id(); 

$sql = mysql_query("SELECT * FROM `onlineusers` WHERE `sid` = '".$sid."'");


if($sql && mysql_num_rows($sql)){
    
    mysql_query("UPDATE `onlineusers` SET `lastdate` = NOW() WHERE `id_session`='".$sid."'");
    
}else{
        
    mysql_query("INSERT INTO `onlineusers` VALUES('".$sid."', NOW())");
}

mysql_query("DELETE FROM `onlineusers` WHERE `lastdate` < NOW() - INTERVAL '".$interval."' MINUTE");


?>


Вывод можно сделать так:
SELECT COUNT(*) AS `online` FROM `onlineusers`




Спустя 25 минут, 41 секунда (27.05.2011 - 00:00) inpost написал(а):
Dizzy
Уже за последние 2 месяца этот вопрос самый популярный на форуме smile.gif Введи в поиске `lastactive` или онлайн , получишь кучу тем, в некоторых даже я давал ответ smile.gif

Спустя 5 дней, 20 часов, 44 минуты, 29 секунд (2.06.2011 - 20:44) Dizzy написал(а):
BubbleBee спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.