Такой вот вопрос. Необходимо в проекте сделать такую фишку, что когда зарегистрированный пользователь логиниться на сайт, то его присутсвие каким-либо образом отображается на шлавной странице (или логин, или имя, неважно)
Начало как сделать, понятно. В базе данных создать поле с 0 (нет на сайте) или 1 (есть). Значение меняется с 0 на 1 в том случае если у пользователя при логине на компьютере создаётся на некоторое время cookies.
Вопрос в том, что нужен ещё скрипт, который через эти же определённые промежутки времени проверяет присутствие cookies у пользователя, и если "печенька" отсутсвует, то 1 опять меняется на 0.
Конечно, не совсем уверен, самый ли это правильный вариант и алгоритм...
Как это делать, ни через google, ни через php.net толком информации не отыскал. Может кто поможет, объяснит, поправит мои мысли? Или на худой конец скинет несколько ссылок, где подобная тема обсуждается.
проверка cookies/session у пользователя
Started By simonsays, мар 22 2006 20:28
4 ответов в этой теме
#2
Отправлено 22 марта 2006 - 21:07
simonsays,
все не осилил, как-то сложно.
Напишу, как сделал бы я.
Если на сайте меньше 50 посетителей онлайн одновременно:
1) Получаем печенку.
2) Считываем из текстовика предыдущие записи в массив.
3) Удаляем записи старше, к примеру, 15 минут
4) Дописываем новую
все.
Можно усложнить тем, что считывать не весь текстовик, а построчно сверху, удаляя строчки вплоть до той, которая будет входить в 15 минут.
Если больше 50, то надо подумать, как прикольно так сделать, чтобы летало. Да и вообще подумать надо. Я только основу сказал.
все не осилил, как-то сложно.
Напишу, как сделал бы я.
Если на сайте меньше 50 посетителей онлайн одновременно:
1) Получаем печенку.
2) Считываем из текстовика предыдущие записи в массив.
3) Удаляем записи старше, к примеру, 15 минут
4) Дописываем новую
все.
Можно усложнить тем, что считывать не весь текстовик, а построчно сверху, удаляя строчки вплоть до той, которая будет входить в 15 минут.
Если больше 50, то надо подумать, как прикольно так сделать, чтобы летало. Да и вообще подумать надо. Я только основу сказал.
#4
Отправлено 23 марта 2006 - 19:41
легче действительно по времени сделать в табле с сессиями
без всяких 0 и 1, данные на вывод кешируются каждое n время или при заходе какого-либо юзера, а из кеша уже готовенькое юзерам на вывод отдаётся. время юзера разумеется с каждым действием обновляются.
старые записи удалять по неактивности юзера через определённое время.
а печёнка только для автовхода нужна.
без всяких 0 и 1, данные на вывод кешируются каждое n время или при заходе какого-либо юзера, а из кеша уже готовенькое юзерам на вывод отдаётся. время юзера разумеется с каждым действием обновляются.
старые записи удалять по неактивности юзера через определённое время.
а печёнка только для автовхода нужна.
Закон суров, но это закон. Читайте правила.