Вопрос № 48881: Уважаемые эксперты, как определить сколько пользователей находится на сайте в данный момент(on-line)? Надо полагать с заходом посетителя на сайт значение счетчика надо увеличить на удиницу, а с закрытием браузера или с закрытием страницы сайта - умен...
Вопрос № 48.881
Уважаемые эксперты, как определить сколько пользователей находится на сайте в данный момент(on-line)? Надо полагать с заходом посетителя на сайт значение счетчика надо увеличить на удиницу, а с закрытием браузера или с закрытием страницы сайта - уменьшать на единицу. Как отследить последние событие я не знаю.
Помогите.
Отправлен: 12.07.2006, 05:10
Вопрос задал: Werebear (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Physicist
Здравствуйте, Werebear!
Отследить закрытие браузера практически невозможно. Поэтому при заходе посетителя на сайт (и переходе со страницы на страницу) просто запоминайте время последнего обращения к сайту считайте, что пользователь читает страницу, например, 10 минут. Тогда число записей со временем, укладывающимся в рамки последних 10 минут, - это и есть число on-line пользователей. "Устаревшие" записи можно сразу удалять.
Также можно написать java-скрипт, перезагружающий какую-нибудь маленькую картинку с интервалом 10 минут.
Ответ отправил: Physicist (статус: 4-ый класс)
Ответ отправлен: 12.07.2006, 07:40 Оценка за ответ: 5 Комментарий оценки: Спасибо
Отвечает: PVS
Здравствуйте, Werebear!
Его невозможно отследить (даже если заставить браузер послать что-то при закрытии страницы - у пользователя может просто произойти отключение модема/сети и вы ничего не получите). Стандартный выход здесь: запоминать время последнего доступа и по истечении 5 (10, 20 - как больше нравится) минут считать пользователя отключенным.
Ответ отправил: PVS (статус: 8-ой класс)
Ответ отправлен: 12.07.2006, 10:03 Оценка за ответ: 5 Комментарий оценки: Спасибо
Отвечает: Kevin
Здравствуйте, Werebear!
Собственно в том то и проблема, что отследить такие моменты наявно невозможно, т.к. HTTP - это в двух словах, такая вещь.... браузер посылает запрос серверу -> сервер обрабатывая запрос возвращает клиенту ответ. И все.
Но т.к. это очень неудобно для програмирования, то придумали такую штуку, как сессии.
Подробнее про сессии можно прочитать из официального источника http://php.net или на русском языке http://php.ru/manual/
Всего хорошего!
Ответ отправил: Kevin (статус: 1-ый класс)
Ответ отправлен: 13.07.2006, 00:46 Оценка за ответ: 3 Комментарий оценки: Спасибо за совет, сессии мне известны.