Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 402
от 18.07.2006, 02:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 320, Экспертов: 45
В номере:Вопросов: 1, Ответов: 3


Вопрос № 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
Комментарий оценки:
Спасибо за совет, сессии мне известны.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное