X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Как определить онлайн ли пользователь?
gaaarfild
gaaarfild
Topic Starter сообщение 21.4.2010, 23:52; Ответить: gaaarfild
Сообщение #1


Как определять, онлайн ли пользователь?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Matt
Matt
сообщение 22.4.2010, 1:54; Ответить: Matt
Сообщение #2


Какой, где?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 22.4.2010, 16:00; Ответить: gaaarfild
Сообщение #3


Ну мы о чем сейчас говорим?
О PHP. Как, средствами PHP определять онлайн ли сейчас пользователь. Где - неважно.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 22.4.2010, 21:45; Ответить: ZiTosS
Сообщение #4


gaaarfild,
Да проще простого, система должна быть построена так, чтобы можно было при обращении к любой странице изменять данные в БД, о текущем состоянии пользователя...
Тогда всё просто, при каждом обращении к скрипту пользователем, у нас в текущей сессии или ещё где хранится id_user. И есть у нас таблица, последнего активного сеанса пользователей.
Данные в эту таблицу заносятся или обновляются при каждом обращении авторизованного пользователя к страницам ресурса. Обязательно должно быть поля даты-времени последнего обращения.

Теперь нужно определиться, как удалять устаревшие записи:
1) При каждом обращении любого пользователя к страницам ресурса. Но это накладно, очень накладно. Хотя сначала стоило бы проверить наличие таких устаревших записей. Тогда нагрузка будет меньше.
2) Запустить скрипт в планировщике задач к примеру каждые 3 минуты или каждые 5 минут.
3) Иметь запись где-либо, о дате последнего обновления списка действий. И при каждом обращении пользователя проверять устарела ли эта дата или нет. Если устарела, список надо почистить.

Решать какой вариант выбрать, или придумать какой-либо ещё, дело разработчика.
И так, для определения, кто у нас онлайн нам надо:
1) Иметь данные о последних действиях пользователей. Это может быть файл или таблица БД. (С файлами выйдут накладки)
2) Информационная часть, которая будет запрашивать данные из таблицы с последними действиями и по ID юзера в ней и выводить ник
3) Обработчик, удаляющий старые записи о действиях, которые были произведены более чем N времени ранее
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 22.4.2010, 23:24; Ответить: gaaarfild
Сообщение #5


А планировщик - это CRON? И как с ним работать? Он ведь не везде так просто работает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 22.4.2010, 23:48; Ответить: ZiTosS
Сообщение #6


gaaarfild, CRON это только под *nix, под Windows существуют аналоги.
Вообще ставить подобные задания на планировщик не советую, он работает независимо от вашего скрипта. Это висячий демон, который запускает в нужные моменты скрипты на сервере. Теперь представим, что он повис... Думаю, ясно что будет.
Как настраивать и управлять CRON'ом под Linux:
Настройка crontab ( источник 1 | источник 2 )
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 23.4.2010, 10:44; Ответить: gaaarfild
Сообщение #7


Тогда, мне кажется, наиболее подходящий вариант - 3.
Спасибо. Если ни у кого больше нет дополнительных вопросов, то тему можно закрыть, я думаю.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 23.4.2010, 12:12; Ответить: ZiTosS
Сообщение #8


gaaarfild, как по мне, то тоже, но хранить файл не очень приятно, бывают конфликты в доступе. Может есть вариант получше, но у меня что-то в голову ничего не лезет.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 23.4.2010, 16:41; Ответить: gaaarfild
Сообщение #9


Зачем файл. В поле БД у каждого пользователя поле last_access и поле online(int).
И проверять все это.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 23.4.2010, 17:04; Ответить: ZiTosS
Сообщение #10


gaaarfild, Имелось ввиду, что имеется запись последней чистки данных, чтобы каждый раз не проверять и не чистить при каждом обращении - это большая нагрузка. Вот эту запись я предлагал хранить в файле.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
55 arendator 35030 Сегодня, 2:12
автор: arendator
Открытая тема (нет новых ответов) Как в пушсетках покупают по 100-200 тысяч кликов за день?
2 Boymaster 679 Вчера, 17:52
автор: Boymaster
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
151 adw-kupon.ru 19851 23.4.2024, 13:52
автор: Vmir
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
20 uahomka 3461 23.4.2024, 11:54
автор: Skyworker
Открытая тема (нет новых ответов) 366.cash - Обменник криптовалют онлайн
7 DenisP366 1897 21.4.2024, 16:14
автор: DenisP366


 



RSS Текстовая версия Сейчас: 25.4.2024, 5:16
Дизайн