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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Определение статуса пользователя "on-line" или "off-line"
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
как сделать чтоб можно было видеть онлайн клиент или нет?
вернее, я уже это придумал
но есть подвох
когда чел логинится, в поле status записывается "on"
а когда жмет на кнопку "выйти" то соответсвенно туда записыается "off"
тем самым видно, кто оналайн, а кто нет
дак вот, а если чел взял, и тупо закрыл вкладку, а потом закрыл браузер, то значение в поле "status" не поменялось же, и он по прежнему онлайн
как быть?
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Смотреть датувремя последней активности.
----- PostgreSQL DBA
GEN_18
Отправлено: 12 Июля, 2012 - 15:29:29
Частый гость
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
Мелкий типа чтоб скрипт со стороны сервера постоянно выполнялся через crone
в котором бы шла проверка?
----- Еще вечера сегодня было завтра.
Alho
Отправлено: 12 Июля, 2012 - 15:32:19
Посетитель
Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012
Помог: 11 раз(а)
В базу нужно записывать время последней активности. И если разница текущего и записанного времени первышает порог - показывать пользователя оффлайн.
LIME
Отправлено: 12 Июля, 2012 - 15:33:23
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
нет....
скрипт который отрисовывает данные по состоянию пробегает всех юзеров и пишет то те онлайн которые 5 мин назад хотябы обращались
нет смысла писать статус
пишите время каждый раз
можно аяксом пинать запросы на случай если юзер отошел чайку попить
GEN_18
Отправлено: 12 Июля, 2012 - 15:49:11
Частый гость
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
у меня сессия хранится не в куках, в просто в переменно $_SESSION...
в этом вся проблема, я не знаю как у нее расспрашивать активен кто, а кто нет
p.s. как работать с куками я еще не разобрался, по крайней мере, чтоб сессию в них хранить я не знаю как, хотя пытался
----- Еще вечера сегодня было завтра.
Alho
Отправлено: 12 Июля, 2012 - 15:53:52
Посетитель
Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012
Помог: 11 раз(а)
Человек загружает страницу. На каждой странице стоит "запрос авторизации", который берет информацию из сессий, а так же записывает новое время в бд.
Когда другой человек загружает страницу пользователя (к примеру), проверяется время - по разнице определяется, а давно ли был тут человек? Если не был уже пять минут, можно считать его неактивным.
Если критична актуальная информация по статусу - то уже писали, что бы аякс дергал скрипт записи последней активности.
GEN_18
Отправлено: 12 Июля, 2012 - 16:10:53
Частый гость
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
Alho
может тогда вообще проще сделать на каждой странице, на которую заходит авторизованный пользователь, запись нового времени в БД.
а уже со стороны сервера выполнять каждые, допустим, 10 минут скрипт, который будет проходить по всей базе, и сравнивать время, записанное пользователем с настоящим временем, и если различие будет больше 5 минут - до ставить в поле status у этого пользователя "off"
----- Еще вечера сегодня было завтра.
LIME
Отправлено: 12 Июля, 2012 - 16:12:51
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
GEN_18 пишет:
а уже со стороны сервера выполнять каждые, допустим, 10 минут скрипт, который будет проходить по всей базе, и сравнивать время, записанное пользователем с настоящим временем, и если различие будет больше 5 минут - до ставить в поле status у этого пользователя "off"
вопрос...НАХРЕНА????
пусть это делает скрипт который отображает инфу
и только когда это надо
а поле статус вообще лишнее
GEN_18
Отправлено: 12 Июля, 2012 - 16:17:26
Частый гость
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
LIME пишет:
пусть это делает скрипт который отображает инфу
и только когда это надо
а поле статус вообще лишнее
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.