Помощник
|
Как определить онлайн ли пользователь? |
gaaarfild
|
Сообщение
#1
|
||
|
|
||
|
|||
Matt |
22.4.2010, 1:54;
Ответить: Matt
Сообщение
#2
|
|
Какой, где?
-------------------- |
|
|
gaaarfild
|
Сообщение
#3
|
|
Ну мы о чем сейчас говорим?
О PHP. Как, средствами PHP определять онлайн ли сейчас пользователь. Где - неважно. |
|
|
ZiTosS |
22.4.2010, 21:45;
Ответить: ZiTosS
Сообщение
#4
|
|
gaaarfild,
Да проще простого, система должна быть построена так, чтобы можно было при обращении к любой странице изменять данные в БД, о текущем состоянии пользователя... Тогда всё просто, при каждом обращении к скрипту пользователем, у нас в текущей сессии или ещё где хранится id_user. И есть у нас таблица, последнего активного сеанса пользователей. Данные в эту таблицу заносятся или обновляются при каждом обращении авторизованного пользователя к страницам ресурса. Обязательно должно быть поля даты-времени последнего обращения. Теперь нужно определиться, как удалять устаревшие записи: 1) При каждом обращении любого пользователя к страницам ресурса. Но это накладно, очень накладно. Хотя сначала стоило бы проверить наличие таких устаревших записей. Тогда нагрузка будет меньше. 2) Запустить скрипт в планировщике задач к примеру каждые 3 минуты или каждые 5 минут. 3) Иметь запись где-либо, о дате последнего обновления списка действий. И при каждом обращении пользователя проверять устарела ли эта дата или нет. Если устарела, список надо почистить. Решать какой вариант выбрать, или придумать какой-либо ещё, дело разработчика. И так, для определения, кто у нас онлайн нам надо: 1) Иметь данные о последних действиях пользователей. Это может быть файл или таблица БД. (С файлами выйдут накладки) 2) Информационная часть, которая будет запрашивать данные из таблицы с последними действиями и по ID юзера в ней и выводить ник 3) Обработчик, удаляющий старые записи о действиях, которые были произведены более чем N времени ранее |
|
|
gaaarfild
|
Сообщение
#5
|
|
А планировщик - это CRON? И как с ним работать? Он ведь не везде так просто работает.
|
|
|
ZiTosS |
22.4.2010, 23:48;
Ответить: ZiTosS
Сообщение
#6
|
|
gaaarfild, CRON это только под *nix, под Windows существуют аналоги.
Вообще ставить подобные задания на планировщик не советую, он работает независимо от вашего скрипта. Это висячий демон, который запускает в нужные моменты скрипты на сервере. Теперь представим, что он повис... Думаю, ясно что будет. Как настраивать и управлять CRON'ом под Linux: Настройка crontab ( источник 1 | источник 2 ) |
|
|
gaaarfild
|
Сообщение
#7
|
|
Тогда, мне кажется, наиболее подходящий вариант - 3.
Спасибо. Если ни у кого больше нет дополнительных вопросов, то тему можно закрыть, я думаю. |
|
|
ZiTosS |
23.4.2010, 12:12;
Ответить: ZiTosS
Сообщение
#8
|
|
gaaarfild, как по мне, то тоже, но хранить файл не очень приятно, бывают конфликты в доступе. Может есть вариант получше, но у меня что-то в голову ничего не лезет.
|
|
|
gaaarfild
|
Сообщение
#9
|
|
Зачем файл. В поле БД у каждого пользователя поле last_access и поле online(int).
И проверять все это. |
|
|
ZiTosS |
23.4.2010, 17:04;
Ответить: ZiTosS
Сообщение
#10
|
|
gaaarfild, Имелось ввиду, что имеется запись последней чистки данных, чтобы каждый раз не проверять и не чистить при каждом обращении - это большая нагрузка. Вот эту запись я предлагал хранить в файле.
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат | 55 | arendator | 35089 | Сегодня, 2:12 автор: arendator |
|
Как в пушсетках покупают по 100-200 тысяч кликов за день? | 2 | Boymaster | 695 | Вчера, 17:52 автор: Boymaster |
|
Как вы отдыхаете от работы за компом | 151 | adw-kupon.ru | 19861 | 23.4.2024, 13:52 автор: Vmir |
|
Как вы бросили работу и перешли на заработок с сайтов? | 20 | uahomka | 3473 | 23.4.2024, 11:54 автор: Skyworker |
|
366.cash - Обменник криптовалют онлайн | 7 | DenisP366 | 1900 | 21.4.2024, 16:14 автор: DenisP366 |
Текстовая версия | Сейчас: 25.4.2024, 11:20 |