Forum Webscript.Ru
Программирование => PHP => Тема начата: Tankist от 24 Января 2002, 08:45:13
-
Я думаю это можно сделать так:
Создается id сессии:
$s_id = md5(uniqid(rand()));
, Далее получаем ip юзера, время, когда он загрузил страницу в секундах с 1970.Записываем это все в его куки.Записываем это все mySQL.
Далее проверяем, нет ли чувака с таким ip и $s_id(если он поддерживает куки:(), Если есть, записываем новое время, если нет, записываем все в базу.
При обращении пользователя к странице мы сравниваем все даты в mySQL с текущей, удаляем старше 20 минут и считаем даты младше 1 минуты.
-=-=-
Возможно я плохо объяснил, но я так думаю?
-
Как узнать сколько пользователей на странице?
$users=rand(1,10); :)
Может лучше сделать время жизни сессии 20 мин и просто показывать количество открытых сессий (ведь в большинстве случаев даже если юзер открыл несколько окон, они все будут под одной сессией).
$users=count($HTTP_STATE_VARS);
Правда массив $HTTP_STATE_VARS пока недокументирован, поэтому может это и работать не будет :)
-
Кстати по этой теме в ближайшие дни будет статейка.
-
Кстати я ничего не знаю о
$HTTP_STATE_VARS, можешь поподробнее?
-
Мда, только что попробовал - он у меня не работает.
Кстати я ничего не знаю о
$HTTP_STATE_VARS, можешь поподробнее?
Как я уже писал этот массив недокументирован; на php.net о нем есть пару упоминаний в описании раздела о сессиях. Но у меня (PHP4.1.1 c php4win.de , WIN98 , APACHE 1.3.22) этот массив не работает.