Управление сессиями PHP, подсчет пользователей с помощью cookie - PullRequest
0 голосов
/ 11 июня 2010

Я хочу при загрузке страницы сохранить куки в браузере пользователя. Затем, используя AJAX, посчитайте количество пользователей с этим файлом cookie и отправляйте его в строку базы данных примерно раз в 1 секунду. Как это достигается?

Ответы [ 2 ]

2 голосов
/ 11 июня 2010

Поскольку кажется, что вы внедряете чат-комнату, можно предположить, что происходит некоторый опрос AJAXy (клиенты очень часто проверяют наличие обновлений).

Одним из подходов может быть сохранение таблицы active_sessions.в вашей базе данных.Это может выглядеть следующим образом:

create table active_sessions (
   sess_id varchar(32) primary key,
   lastseen timestamp
);

Каждый раз, когда клиент запрашивает обновление, вставляйте / обновляйте строку для своего идентификатора сеанса, а затем регулярно удаляйте все записи с отметкой времени старше T (для некоторого значенияиз T, например, 30 секунд или что-то в этом роде)

Подсчитайте строки в таблице, чтобы получить довольно точную оценку того, сколько клиентов все еще активно.

0 голосов
/ 11 июня 2010

Взгляните на одно из моих сообщений!

установить сеанс в базе данных в php

Просто при сохранении данных добавьте метку времени в mysql и посчитайте уникальные строки, где time> time () = 30; с задержкой 30 секунд.

...