Intereting Posts
Как удалить некоторую строку из текстового файла с помощью PHP? Использование PHP и нового API Twitter MySql Изменено дерево предзаказов для создания URL-адреса Модуль Magento хорошо работает на локальном хосте, но не на реальном сервере Почему я не могу получать сообщения от GCM на устройстве Android Отключить предупреждения при загрузке неверно сформированного HTML с помощью DomDocument (PHP) Поиск общего количества активных сеансов Регулярное выражение для двух букв, за которым следуют 4 цифры Laravel5.1: проверять поле времени (время начала должно быть больше конечного времени) Попросите PHP-скрипт работать навсегда, получить доступ к очереди как использовать хэш-функцию для хранения ~ 4 миллионов изображений в файловой системе AT Commands PHP Регулярное выражение для соответствия тегу HTML <p> с использованием PHP получение значений post из формы с именами динамических элементов Как вставить несколько строк из одного запроса, используя красноречивый / свободный

Вопрос дизайна: как показать количество пользователей онлайн?

Планирование разработки веб-приложения LAMP. Какие общие стратегии я могу использовать для отображения количества пользователей, зарегистрированных на моем сайте? Я хочу иметь возможность точно отображать что-то вроде «Сейчас в сети 1000 пользователей» или «Пользователь Джон Доу сейчас в сети».

Будет задействована база данных. Поэтому каждый раз, когда кто-то регистрируется на сайте, вы можете иметь поле в таблице пользователя для last_login. И тогда может быть сценарий, который выполняет запрос к таблице этого пользователя, чтобы подсчитать количество строк last_login за последний х промежуток времени. Возможно, было бы неплохо кэшировать это и повторно заполнить этот кеш каждые z времени, а затем вытащить его из этого кеша, чтобы противостоять выполнению запроса по таблице пользователя для каждого запроса. Таким образом, база данных + какая-то система кеширования.

Я рекомендую использовать фреймворк CodeIgniter PHP.

Это позволит вам легко хранить ваши данные сеанса в базе данных (просто включите его в файле config.php). Затем вы можете запросить количество идентификаторов сеанса в таблице сеансов вашей базы данных.

Вот информация для класса сеанса CodeIgniter, чтобы вы могли увидеть, как его использовать: Code Session Session Session

Здесь также есть ссылка на форумы CodeIgniter, в которых более подробно описано, как именно это реализовать: CodeIgniter Forum

Это довольно легко сделать, но не может быть точным. Html, являющийся апатридом, не знает, будет ли пользователь по-прежнему смотреть на вашу страницу или ушел.

Если вы хотите регистрировать анонимных и зарегистрированных пользователей, вы можете использовать cookie отслеживания с коротким таймаутом, скажем, пять минут и иметь эту ссылку на файлы cookie для базы данных активных сеансов.

  1. подсчитайте количество активных сеансов в сеансе db.

Если вы используете свою базу данных для хранения информации о сеансе, вы можете легко запросить таблицу сеансов и узнать, сколько уникальных сеансов там хранится.

У вас есть какая-то последняя доступная запись времени в БД и запись о том, что человек активен. Затем запросите БД для тех пользователей, которые были активны за последние 5 минут или около того. Подойдет вам около ок.