Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Определение числа гостей на сайте online
Форумы портала PHP.SU » PHP » Программирование на PHP » Определение числа гостей на сайте online

Страниц (1): [1]
 

1. mshdn - 25 Января, 2011 - 09:14:22 - перейти к сообщению
Как определить, сколько сейчас в данный момент загрузили у себя в браузерах сайт. Вовсех примерах, что нашел принцип один - определяется IP
юзера, фиксируется в файле на сервере, и время входа:
IP|time()
Затем проверка iP очередного юзера в файле, и определяется , был ли уже на сайте до определеного момента раньше, и инкремент счетчика.
Это число выводится, кака число готей online. Непонятно, как учитывать, что часть гостей уже ушли с сайта в своих браузерах, их нет online?
2. Uchkuma - 25 Января, 2011 - 09:55:27 - перейти к сообщению
Должно быть не время входа, а время последнего обращения. Если время от последнего обращения превысило какой-то заданный лимит, считать, что юзер оффлайн.

Но в любом случае, такой скрипт не даст верное количество пользователей, т.к. будет считать всех юзеров на одном ip за одного.
3. lavrik - 25 Января, 2011 - 10:00:37 - перейти к сообщению
Создаешь в базе таблицу с полями ip и последнее время входа.
Пишешь скрипт, срабатывающий при каждом входе пользователя. Этот скрипт будет проверять, есть ли в этой таблице IP пользователя который вошел. Если есть - обновляешь время на текущее + 5 минут (для погрешности, без нее работать нормально не будет). Если нет - добавляешь (также + 5 минут).
В этот скрипт дописываешь: перебираешь все строки таблицы. Если хоть одна запись времени меньше текущего времени - запись просрочена. Удаляешь ее.

Потом просто считаешь количество записей в таблице и вот тебе число пользователей онлайн.
4. Uchkuma - 25 Января, 2011 - 10:11:03 - перейти к сообщению
В качестве доработки вышеупомянутого скрипта: вместо IP создать поле для md5-хеша строки, состоящей из IP и юзерагента. Это даст более объективные результаты.

Для еще более точных результатов, надо каждому пользователю через куки выдавать уникальный id, и его использовать для идентификации пользователя.
5. JustUserR - 25 Января, 2011 - 15:55:37 - перейти к сообщению
mshdn пишет:
Это число выводится, кака число готей online. Непонятно, как учитывать, что часть гостей уже ушли с сайта в своих браузерах, их нет online?
В качестве возможного варианта позволяющего осуществить определения количества пользователей просматривающих заданную web-страницу допустимо использование технологий интерактивных транспортных элементов типа Iframe/AJAX - такой подход обеспечивает достаточный корректный результат в зависимости от урвоня установленного времени обновления элементов данной системы
6. mshdn - 25 Января, 2011 - 16:08:43 - перейти к сообщению
JustUserR пишет:
В качестве возможного варианта позволяющего осуществить определения количества пользователей просматривающих заданную web-страницу допустимо использование технологий интерактивных транспортных элементов типа Iframe/AJAX - такой подход обеспечивает достаточный корректный результат в зависимости от урвоня установленного времени обновления элементов данной системы

Спасибо за ответы. А есть ссылки на пример использование AJAX для этого случая?
7. JustUserR - 25 Января, 2011 - 17:01:34 - перейти к сообщению
mshdn пишет:
Спасибо за ответы. А есть ссылки на пример использование AJAX для этого случая?
Пожалуйста! Конкретная реализация предполагаемой задачи на основе описанной схемы - предоставлена здесь http://rips[dot]su/modules/10-script[dot][dot][dot]x-v101-beta[dot]html

 

Powered by ExBB FM 1.0 RC1