Перейти к содержимому

Фото
- - - - -

проверка cookies/session у пользователя


  • Вы не можете создать новую тему
  • Please log in to reply
4 ответов в этой теме

#1 simonsays

simonsays
  • Пользователь
  • 835 сообщений

Отправлено 22 Март 2006 - 20:28

Такой вот вопрос. Необходимо в проекте сделать такую фишку, что когда зарегистрированный пользователь логиниться на сайт, то его присутсвие каким-либо образом отображается на шлавной странице (или логин, или имя, неважно)
Начало как сделать, понятно. В базе данных создать поле с 0 (нет на сайте) или 1 (есть). Значение меняется с 0 на 1 в том случае если у пользователя при логине на компьютере создаётся на некоторое время cookies.
Вопрос в том, что нужен ещё скрипт, который через эти же определённые промежутки времени проверяет присутствие cookies у пользователя, и если "печенька" отсутсвует, то 1 опять меняется на 0.
Конечно, не совсем уверен, самый ли это правильный вариант и алгоритм...
Как это делать, ни через google, ни через php.net толком информации не отыскал. Может кто поможет, объяснит, поправит мои мысли? Или на худой конец скинет несколько ссылок, где подобная тема обсуждается.
  • 0

#2 ЙСЕХИРОРОСЕТХ

ЙСЕХИРОРОСЕТХ
  • Пользователь
  • 176 сообщений

Отправлено 22 Март 2006 - 21:07

simonsays,

все не осилил, как-то сложно.

Напишу, как сделал бы я.

Если на сайте меньше 50 посетителей онлайн одновременно:

1) Получаем печенку.
2) Считываем из текстовика предыдущие записи в массив.
3) Удаляем записи старше, к примеру, 15 минут
4) Дописываем новую

все.

Можно усложнить тем, что считывать не весь текстовик, а построчно сверху, удаляя строчки вплоть до той, которая будет входить в 15 минут.

Если больше 50, то надо подумать, как прикольно так сделать, чтобы летало. Да и вообще подумать надо. Я только основу сказал.
  • 0

#3 simonsays

simonsays
  • Пользователь
  • 835 сообщений

Отправлено 22 Март 2006 - 23:03

YTRO,

вариант неплохой, принцип понял. Но неплохой он на самом деле будет для небольшого числа пользователей. Их будет намного больше.

А вообще идея хорошая, спасибо!
Какие ещё будут варианты?
  • 0

#4 CiDRoN

CiDRoN

    Конструктивизм на форум.ее

  • Админ
  • 7 690 сообщений
  • Откуда:Таллинн

Отправлено 23 Март 2006 - 19:41

легче действительно по времени сделать в табле с сессиями
без всяких 0 и 1, данные на вывод кешируются каждое n время или при заходе какого-либо юзера, а из кеша уже готовенькое юзерам на вывод отдаётся. время юзера разумеется с каждым действием обновляются.
старые записи удалять по неактивности юзера через определённое время.
а печёнка только для автовхода нужна.
  • 0
Закон суров, но это закон. Читайте правила.

#5 simonsays

simonsays
  • Пользователь
  • 835 сообщений

Отправлено 23 Март 2006 - 23:08

всё понял! большое спасибо, так и попробую сделать!
  • 0