А такой алгоритм не катит?:
1) Заходит человек под именем 2) ему создается сессия 3) запоминаем в БД в таблицу X связку "имя->сессия" 4) заходит "наш" пользователь на сайт 5) по таблице X для всех имен проверяется наличие файла сессии 5.1) если имеется - > выводим что присутствует 5.2) если не имеется - > удаляем из X запись. |
ну можно посчитать количество файлов сессий *JOKINGLY*
|
Цитата:
|
Цитата:
Необходимые издержки, кому надо точно - можно в таблицу X добавить поле "время последнего захода" и фильтровать в пункте 5) еще по нему. |
Цитата:
Цитата:
|
Цитата:
|
в общем, для начала нужно определиться, что значит "пользователь находится на сайте"
|
"пользователь находится на сайте" - значит что пользователь открыл браузер и "бродит" по моему сайту... а если пользователь закрыл браузер, либо закрыл вкладки моего сайта или нажал на сайте выход - значит пользователь не находится на сайте.
|
сохранять в ответ на каждый запрос пользователя в базе время его запроса, и его SESSID к примеру
на запрос "кто на сайте" выводить тех пользователей, которые посылали запрос в течении последних T секунд каждые Т секунд с клиента посылать запрос на сервер При этом вы получите большую точность чем обычно, и повесившийся сервер. поэтому на практие не стоит применять идею с регулярными запросами. лучше стоит обойтись без них, а в качестве T выбрать среднее время просмотра страницы на своем сайте, к примеру |
спасибо
|
Часовой пояс GMT +3, время: 11:18. |