[PHP] Как подсчитать пользователей онлайн и пользователей, вошедших в систему, каким методом? - PullRequest
0 голосов
/ 24 октября 2010

Я сделал сценарий входа для своего сайта, сессия в основном выглядит следующим образом.

if($_SESSION['loggedin']=="Yes"){
//user online stuff
}

Для всех остальных пользователей установлен сеанс

$_SESSION['loggedin']=="No";

Как отобразить активный сеанс, для которого установлено значение да или нет? Должен ли я работать с таблицами MySQL и использовать crontabs? или я должен считать файлы в TMP (каталог сеанса) на Apache?

Каковы лучшие методы и как я могу это сделать?

Ответы [ 3 ]

1 голос
/ 24 октября 2010

Crontab здесь не нужен.Вы можете хранить дату и время последней активности где-нибудь (база данных mysql?) И использовать простой выбор, который будет показывать количество пользователей, которые были активны в течение некоторого времени ожидания.

Эта таблица может использоваться для отслеживания на стороне серверазарегистрированных пользователей.Таблица также может содержать некоторую дополнительную информацию, такую ​​как IP-адрес, X-Forwarded-For IP и т. Д.

1 голос
/ 24 октября 2010

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

Вы можете подсчитать количество пользователей, вошедших в систему, установив бит для записи пользователя при входе в систему и отключив этот бит при выходе из системы./ сеанс истекает, и подсчитывает количество этих битов, чтобы увидеть, сколько людей вошли в систему.

0 голосов
/ 24 октября 2010

Если вам нужно отобразить реальных пользователей, которые в данный момент вошли в систему, лучше использовать колонку в вашей таблице mysql пользователей для отслеживания текущего состояния входа в систему, а также делать периодический запрос через cronjob и сохранять эту информациюTXT-файл, чтобы вы могли выполнить запрос только один раз для всех вошедших в систему пользователей и поделиться результатом, включив его в визуализированный html.Другой метод (чтение в хранилище папок сеанса) возможен, но более сложен и, вероятно, менее эффективен, хотя я не делал никаких тестов.Это просто кажется очень хакерским.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...