Используйте функцию javascript для события
window.onbeforeunload = myLogoutFunction;
Примечание. Этот javascript не будет работать при сбое браузера.
Создайте таблицу базы данных user_log и заполните таблицудаты входа и выхода из системы.Когда есть пользователь с не обновленной датой выхода из системы, вы можете предположить, что с его соединением что-то не так.
$where = " AND `users_id`='".$response['userfound']['id']."'";
$where .= " AND `logoffdatetime`='0000-00-00 00:00:00'";
После 24-минутного php-сеанса (настройки php.ini по умолчанию).Это не будет много полезного.Но вы все равно можете сохранить в таблицу user_log.
Вам не нужна база данных сброса.Поддерживать пользователей чата в базе данных - плохая идея.Вместо этого используйте небольшой файл с отметкой времени.
Вот некоторые другие полезные советы Определите, возвращается ли пользователь без выхода из системы
$user_navigates = false;
if(isset($_SERVER['HTTP_REFERER']) && basename($_SERVER['HTTP_REFERER']) != _PAGE)
$user_navigates = true;
сохранить также обновление страницы в сеансе
if(isset($_GET['pagerefreshed']))
$_SESSION['pagerefreshed'] = $_GET['pagerefreshed'];
сохранить log_id user_id в сеансе, чтобы вы могли использовать его для восстановления.Например, нет необходимости перезагрузить страницу.
$_SESSION['loggedout']['user_id'] == $login->user_id