Как вы обнаруживаете неактивный сеанс для сценария чата в PHP? - PullRequest
0 голосов
/ 13 января 2012

, поэтому я пишу что-то похожее на приложение чата и мне нужен способ определить, когда пользователь больше не активен. по сути, мне нужно, чтобы другие пользователи приложения знали, что пользователь X вышел из системы, если они покинули страницу или закрыли свой браузер. Есть ли какой-нибудь способ для серверного сценария выяснить это, кроме того, что «я не получил запросов от пользователя X в течение 15 минут, поэтому я буду считать, что его нет?»

1 Ответ

0 голосов
/ 13 января 2012

Как сказано в ссылках в комментариях, нужно использовать AJAX. Самый простой способ сделать это (на мой взгляд) с помощью JQuery, вот пример ниже:

$(document).ready(function(){
    window.setInterval(function(){
        initiateSessionCheck();
    5000);

    function initiateSessionCheck() {
        $.ajax({
            type : 'POST',
            url : 'sessioncheck.php',
            success : function(data){
                //success
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                //error do something they are no longer active
            }
        });

    }
});

Теперь в вашем файле sessioncheck.php вы захотите сделать это

session_start();

if (!$_SESSION) { //you could check a session variable explicitly like $_SESSION['user_id'] != ''
    $return['error'] = true;
} else {
    $return['error'] = false;
}

echo json_encode($return);

Это просто, но это должно сработать!

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