Если пользователь авторизовался и некоторое время ничего не делает!

J
На сайте с 12.11.2009
Offline
11
518

Уважаемые форумчане, у меня возник вопрос! Допустим пользователь залогинился на сайте, полазил по нему и потом не нажал кнопку выход! Как мне отслеживать таких пользователей и как реализовать чтобы скрипт сам выводил таких пользователей в оффлайн?

У меня есть идея - просто после каждой манипуляции записывать в базу время этой манипуляции и потом по крону выполнять скрипт который будет смотреть сколько времени прошло после последней операции и ,соответсвенно, если прошло много времени, то выкидывать пользователя!Правильно ли будет это?Использую PHP и MySQL.

Заранее спасибо.

rtyug
На сайте с 13.05.2009
Offline
263
#1

как вариант, записывать время когда пользователь делает какие-то действия (т.е. записывать время последнего действия)

и потом смотреть сколько пользователей присутствует за 5 минут, например...

Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
JTRTA
На сайте с 06.07.2008
Offline
25
#2

зачем корн? зачем такие сложности? проще установить время жизни сессии и БД лишней нагрузке подвергать не придется.

Только вот мне кажется нехорошо пользователю такие неудобства делать. Неужели залогиненые пользователи вам так мешают? Часто время жизни сессии устанавливают по несколько месяцев.

Дизайн /ru/forum/493415 (/ru/forum/493415) Верстка от 15$ /ru/forum/509339 (/ru/forum/509339) Сайты под ключ aiogino.studio@gmail.com icq: 460146806
[Удален]
#3
JTRTA:
Часто время жизни сессии устанавливают по несколько месяцев.

тратя тем самым гигабайты в папке сессионных файлов :D

JTRTA
На сайте с 06.07.2008
Offline
25
#4
тратя тем самым гигабайты в папке сессионных файлов

ну тут уж время подбирать в соответствии с дуростью и железкой :)

кстати можно сконфигурировать сервер, что при переполнении старые сессии до срочно удалялись

[Удален]
#5
JTRTA:
можно сконфигурировать сервер

мжоно хранить сессии в мемкеше, но кто про это знает и кто это делает?

J
На сайте с 12.11.2009
Offline
11
#6

JTRTA, Я делаю онлайн игру(по крайней мере пытаюсь :))и поэтому мне надо отслеживать кому можно послать приглашение на игру, а кто уже в оффе давным давно. Согласитесь если из 5 пользователей 4 будут в оффе, но с точки зрения сервера они будут онлайн, то 5 игроку будет не совсем по приколу ждать когда те ответят ему взаимностью.

JTRTA
На сайте с 06.07.2008
Offline
25
#7

тогда просто в табличке юзеров заводишь новое поле "время последней активности" при каждом запросе устанавливаешь соответствующие время, и у кого это время например больше 5 минут считаем выбывшим(разлогинивать его необязательно) и его нельзя приглашать.

J
На сайте с 12.11.2009
Offline
11
#8

JTRTA, Спасибо за помощь!Впринципе я так и думал!:)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#9

joinsoft,

Или юзаеш старый добрый способ, который называется "i am living"...

Через AJAX отправляешь запросы на сревер каждые ** минут. Сессии настраиваешь стандартна, на 10-20 минут...

Как только запросы прекратятся, сессия сама все закроет..

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий