Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Время пребывания на сайте


Автор: dboodb 8.11.2007, 10:27
Помогите пожалуйста узнать  время пребывания на сайте пользователя.

Автор: BuShaRt 8.11.2007, 10:50
отметка ухода в оффлайн минус отметка первого захода с данного IP за сессию
Уход в оффлайн можно считать моментом, когда проходит n секунд с момента последнего обращения пользователя к сайту.

Автор: skyboy 8.11.2007, 11:16
можно жестоко и точно сделать: на javascript по setInterval через AJAX отсылать на сайт сообщение "а я ещё здесь...". Как только проходит удвоенный интервал и сооблщения нет - считаем ушедшим в офф.
В принципе, если отсылать 1 байт, а то, чье это сообщение, хранить в сессии, то на траффик пользователя нагрузка будет не шибко велика. Главное - не ставить односекундный интервал smile
Недостаток метода - не работает при отключенном javascript.
Достоинство: высокая точность, равная длине интервала отсылки сигнала.

Автор: sw04 8.11.2007, 12:14
Цитата(BuShaRt @  8.11.2007,  13:50 Найти цитируемый пост)
отметка ухода в оффлайн минус отметка первого захода с данного IP за сессию
Уход в оффлайн можно считать моментом, когда проходит n секунд с момента последнего обращения пользователя к сайту.

+к сказанному:
хранишь в базе таблицу с сессиями.
при каждом обновлении проверяешь по id сессии, когда был совершён0 последнее действие.
Все сессии проверяем ,если интервал больше N секунд/минут/часов/дней/недель/etc, то убиваем.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)