Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как реализовать online/offline?
 
 автор: designshadow   (21.09.2010 в 05:23)   письмо автору
 
 

Как в теории реализовать онлайн движок. Т.е как определить пользователя в онлайне или в офлайне?

Допустим, есть база данных пользователей, делаем ячеку online в таблице members. Если пользователь залогинился то обновляем ячейку online c нуля на единицу. А если пользователь делает logout то обнавляем ячейку online на 0.
А если пользователь просто закрывает окно браузера, то что тогда делать?

Или как можно всё это проще реализовать?

  Ответить  
 
 автор: Trianon   (21.09.2010 в 09:34)   письмо автору
 
   для: designshadow   (21.09.2010 в 05:23)
 

>Как в теории реализовать онлайн движок. Т.е как определить пользователя в онлайне или в офлайне?
>
>Допустим, есть база данных пользователей, делаем ячеку online в таблице members. Если пользователь залогинился то обновляем ячейку online c нуля на единицу. А если пользователь делает logout то обнавляем ячейку online на 0.
>А если пользователь просто закрывает окно браузера, то что тогда делать?

а тогда ничего не делаем, поскольку умирающий браузер серверный скрипт не вызовет. А больше его звать некому.

Hint:
online-посетитель не тот, у кого флажок в БД стоит.
а тот, у кого время последней активности не старее некоторой величины.

  Ответить  
 
 автор: serenya1983   (21.09.2010 в 13:36)   письмо автору
 
   для: designshadow   (21.09.2010 в 05:23)
 

В таблице поле - onlain, тип int (например)
Занести в поле onlain время последней активности (time()) (например, пользователь зашел на какую-либо страницу). На случай если пользователь долго не обнавляет страницу, через AJAX, например, раз в 10 минут посылать серверу информацию что пользователь всё еще на сайте, сервер в свою очередь заносит в поле onlain новое время!
И последнее, проверять пользователей, которые не активны больше, например, 10 минут и изменять их статус на неактивен (например присвоить полю onlain значение 0) !

  Ответить  
 
 автор: Trianon   (21.09.2010 в 14:04)   письмо автору
 
   для: serenya1983   (21.09.2010 в 13:36)
 

>В таблице поле - onlain, тип int (например)
>Занести в поле onlain время последней активности (time()) (например, пользователь зашел на какую-либо страницу).
Гуд.

>На случай если пользователь долго не обнавляет страницу, через AJAX, например, раз в 10 минут посылать серверу информацию что пользователь всё еще на сайте, сервер в свою очередь заносит в поле onlain новое время!

Зачем?

>И последнее, проверять пользователей, которые не активны больше, например, 10 минут и изменять их статус на неактивен (например присвоить полю onlain значение 0) !

Зачем?

  Ответить  
 
 автор: neadekvat   (21.09.2010 в 14:24)   письмо автору
 
   для: serenya1983   (21.09.2010 в 13:36)
 

И, кстати, online - а то чуть глаза не сломал.

  Ответить  
 
 автор: serenya1983   (21.09.2010 в 19:58)   письмо автору
 
   для: neadekvat   (21.09.2010 в 14:24)
 

ну да, незнаю откуда привычка писать onlain, хоть и правильно online!!!

  Ответить  
 
 автор: Trianon   (21.09.2010 в 20:07)   письмо автору
 
   для: serenya1983   (21.09.2010 в 19:58)
 

вышибайте.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования