Юзеры он-лайн

flyinghero

Guest
Юзеры он-лайн

Подскажите плс, как правильнее вести учет пользователей, которые в данный момент на сайте? Правильнее хранить ид сессий в базе или можно хранить просто флаг. Или еще какой-то вариант?
И что делать, когда юзер не нажимает на сайте "Логаут", а просто закрывает окно броузера? Ведь в базе остается ид его сессии, значит он продолжает быть онлайн. Не правильно же подчищать базу при каждом обновлении страницы, ибо излишняя нагрузка на БД.
 

flyinghero

Guest
Автор оригинала: SiMM
В данный момент на сайте никого нет. Почему - написано в PHP FAQ: Самые основы. Как работает PHP.
Однако это не значит, что сайт никто не посещал. Или, вернее, не создавал запросов в течении последних, скажем, 15 минут.
К чему это? :) Меня интересует конкретно лучший метод хранения инфы о том, кто онлайн, и как сделать так, чтобы юзер переставал быть онлайн, когда он закрыл окно броузера. Вместе с ид сессии (или хз чего еще) можно хранить таймстамп с датой добавления, чтобы потом сверяться, не устарела ли сессия. В FAQ по ссылке вообще ничего не нашел.
 

krafty

new Exception
половина из твоих проблем - это результат неправильного хода мыслей, т.е. они надуманы. а вторая половина от незнания теоретических основ данной задачи. после изучения приведенной выше ссылки, внимательно в этом же FAQ почитай про сессии.
 

Фанат

oncle terrible
Команда форума
Подскажите плс, как правильнее вести учет пользователей, которые в данный момент на сайте?
записывать, кто и когда ходил.
кто давно не ходил - вычёркивать
Правильнее хранить ид сессий в базе или можно хранить просто флаг.
правильнее для такой дурацкой задачи вообще не использовать сессии.
Или еще какой-то вариант?
писать хосты в файл
что делать, когда юзер не нажимает на сайте "Логаут",
см выше. вычёркивать через пару минут из списка
Ведь в базе остается ид его сессии, значит он продолжает быть онлайн.
Активная сессия и наличие юзера онлайн это совершенно РАЗНЫЕ вещи.
Не правильно же подчищать базу при каждом обновлении страницы, ибо излишняя нагрузка на БД.
что означает слово "лишняя"?
а тягать из базы данные для показа при каждом обновлении - это не лишняя нагрузка?
 
Сверху