|
|
|
| хочу чтоб когда заходишь на страницу чужого пользователя показывало находится ли он в сети или нет
думаю сделать так (не проверял)
есть таблица online с двумя полями (id 1 поле для вставки проверки) . Создается в месте с таблицей user когда человек регистрируется ,получается id из каждой таблицы всегда совпадает (получается можно проверять онлайн ли он сравнивая 2 таблицы )
заходя под своим логином создается сессия и выводится вся информация из пользователя
и делаем UPDATE в поле таблицы ставим двоечку online где оба id совпадают
потом выводим все с таблицы online где оба id совпадают
а потом показываем если в поле стоит 2 то ты в сети если 1 то ты не в сети
А ТЕПЕРЬ ВОПРОС
люди никогда не выходят через кнопку exit с сайта а всегда закрывают страницу , поэтому не могу понять когда ставить UPDATE в поле с циферкой 1 чтоб потом показывало что он не в сети | |
|
|
|
|
|
|
|
для: kvins
(08.03.2011 в 17:10)
| | UPDATE вызывается при каждой перезагрузки страницы пользователем. Обычно привязка идет ко времени (к выходу никто не привязывается), как только от пользователя не поступало перезагрузок в течение определенного времени - считается, что он ушел. Именно так реализован список OnLine на этом форуме. Возможно вас также заинтересует аналогичный скрипт из раздела PHP-скрипты. | |
|
|
|
|
|
|
|
для: kvins
(08.03.2011 в 17:10)
| | У меня вот такие решения:
1. В первом скрипте есть таблица онлайн, туда заносятся данные user, ip, data и т.д
дальше создаешь файл который будет запускаться через include
В этом скрипте делаешь DELETE чтоб он удалял все записи с временем болеше > 10 минут
Остальное выводишь куда надо, он тебе будет показывать тех кто онлайн!
2. Вот в этом скрипте (PowerCounter 4.1.0) есть то же таблица куда заносяться ip адреса, тут конечно по проще, т.к таблица одна ip из нее делаешь вывод по времени больше > 10 минут.
какой ip онлайн он тебе покажет
Решений много, по этому лучше сделай как можно меньше запросов в бд. | |
|
|
|