Как отследить что авторизованный пользователь онлайн?
Как отследить что авторизованный пользователь онлайн?
Пока нечего умного в голову не пришло, разве что, при логине записывать в бд поле ласт_визит и делать выборку - если не прошло 60 сек от текущего временем, то онлайн. Какие еще будут варианты, если пользователь ходит по сайту?
Re: Как отследить что авторизованный пользователь онлайн?
Либо сделать javascript и периодически отправлять ajax запрос. Либо устанавливать какую-то переменную в сессии зарегистрированного пользователя и периодически проверять активные сессии.
Re: Как отследить что авторизованный пользователь онлайн?
можно второй вариант поподробней?
Re: Как отследить что авторизованный пользователь онлайн?
можно в редисе ключ на 5 минут ставить и обновлять при каждом действии
Re: Как отследить что авторизованный пользователь онлайн?
я до конца не додумал его. Но как вариант если сделать так. Устанавливаем переменную сессии, устанавливаем ей время жизни, например 60 секунд и проверяем существует она или нет. Хотя это ничем не отличается от вашего варианта с БД. Он даже лучше
Re: Как отследить что авторизованный пользователь онлайн?
а mysql тригером так не получится?anton44eg писал(а):можно в редисе ключ на 5 минут ставить и обновлять при каждом действии
Re: Как отследить что авторизованный пользователь онлайн?
судя по всему - можно, но через задницу. и грузить БД будет.
Re: Как отследить что авторизованный пользователь онлайн?
поставь в контроллере, чтобы всегда обновлялась строка в БД например, last_asset, и проверяй, если прошло определенное кол-во времени, ставь оффлайн юзеру.