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 :: Версия для печати :: Подсчёт онлайна на сайте
Форумы портала PHP.SU » » HTTP и PHP » Подсчёт онлайна на сайте

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

1. n1k86 - 02 Ноября, 2011 - 19:41:11 - перейти к сообщению
Всем привет. Ребят, поделитесь своим скриптом подсчёта онлайна на сайта, пожалуйста. В паблике ничего толкового, к сожалению, не нашёл... Буду благодарен!
(Добавление)
Или скажите хотя бы ГРАМОТНЫЙ алгоритм написания, сам напишу...
2. LIME - 03 Ноября, 2011 - 03:13:37 - перейти к сообщению
n1k86 имхо тривиальный алгоритм
в базе сделать поле время последнего посещения
проверять его периодически скажем раз в 5 мин

1 по cron (предпочтительно)
2 в файле хранить время последней проверки и проверять его при каждом запросе

опросив базу писать в файл онлайн и подключать его при выводе
(Добавление)
тут и чистка заодно произойдет тех кто не активен более 5 мин
ну и естественно аяксом бросать запросы периодически для обновления времени в базе
чтоб не выкинуло при простое браузера
3. ALEN - 04 Ноября, 2011 - 20:20:54 - перейти к сообщению
LIME
Для чего крон?
Создаем таблицу в базе (отдельную от обычной базы пользователей, чтоб не искать по списку пользователей-зомби). В таблице колонка time - с временной меткой time(). Вторая колонка id пользователя. Если человек авторизован и обновляет страницу, проверяем в наличии записи в таблице, если ее нет добавляем. Если есть обновляем метку time. В конце делаем дополнительный запрос, который убивает пользователей скажем с меньше чем time() - 300(5 минут) - операция будет не грузящая т.к. пользователей будет не так много.
Если нужно будет узнать кто онлайн и его данные, то при запросе используем JOIN.
4. Давит - 04 Ноября, 2011 - 20:38:43 - перейти к сообщению
.
5. De-Luxis - 11 Ноября, 2011 - 18:15:06 - перейти к сообщению
При каждой загрузке делать update в базе поля с датой у пользователя.
потом делаем запрос в базу по дате с условием не старее 15 минут например.
6. igyan - 11 Ноября, 2011 - 21:32:28 - перейти к сообщению
Можешь почитать как сделан подсчет участников форума в книге М.Кузнецова, И.Симдянова, С. Голышева "ПРАКТИКА СОЗДАНИЯ WEB-САЙТОВ" страница 772.
7. default - 26 Ноября, 2011 - 23:14:08 - перейти к сообщению

Радость

 

Powered by ExBB FM 1.0 RC1