Сколько часов онлайн находился пользователь на сайте

InstantCMS 2.X
#1 18 января 2017 в 17:26
Друзья как можно сделать подсчет, сколько часов пользователь находился онлайн за все время после регистрации? Есть ли такое решение?
#2 18 января 2017 в 17:31

Друзья как можно сделать подсчет, сколько часов пользователь находился онлайн за все время после регистрации ?

Нико
laughлогика подсказывает суммировать время каждой сессии пользователя!

Есть ли такое решение ?

Нико
Готового компонента или виджета под двойку не встречал
#3 18 января 2017 в 17:53

Готового компонента или виджета под двойку не встречал

Val
если даже Val не встречал и не делал, то вероятность маленькая)
#4 18 января 2017 в 18:21
Если бы хотел сделать такое, для начала бы посмотрел как устроен плагин проверки новых сообщений, без перезагрузки страницы, на первой ветке он есть в системе, в двойке не знаю, и примерно по тому же принципу сделал, только вместо запроса новых сообщений отправлял бы запрос раз в минуту на обновление созданного мною в бд столбца total_online "UPDATE cms_users SET total_online = ' total_online +1" ajax-ом, потом уже оттуда брал информацию.
Только наверно затратно это, если очень много авторизованных пользователей на сайте онлайн.
#5 18 января 2017 в 18:46
Нил™, это можно в куках считать, и убивать куку при выходе с сайта, одновременно записывая значение в базу, таким образом, избежать поминутного запроса в бд
#6 18 января 2017 в 18:52

Нил™, это можно в куках считать, и убивать куку при выходе с сайта, одновременно записывая значение в базу, таким образом, избежать поминутного запроса в бд

Олегсей
не возражаю

а что имеется ввиду под

при выходе с сайта,

Олегсей
?
нажатие на кнопку выход? Закрытие страницы браузера? Переход на другой сайт? Во всех случаях это будет работать?
#7 18 января 2017 в 19:09
Я б тоже от такого не отказался))
#8 18 января 2017 в 19:35
Нил™, скорее всего, при закрытии всех вкладок с данным сайтом. Кука должна считаться для всех посетителей, но писаться в базу только для залогиненных. Не знаю, думать надо, в общем.
#9 19 января 2017 в 01:57
Другой вариант опираться на информацию в таблице cms_online
и периодически по крону брать данные из нее и на их основе счиать total_online для user_id

Так гораздо меньше обращений к бд

Можно посмотреть в самой системе в классах users в модуле кто онлайн как система считает пользователя онлайн или нет
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.