从一个选项卡中注销。用户应从其他选项卡注销

时间:2010-05-17 13:11:48

标签: php jquery firefox

我正在使用jQuery ajax调用来更新数据。我在firefox中登录了两个不同的标签。

我从一个标签中退出。第二个标签尚未刷新。

当我尝试通过ajax更新数据时,调用正确执行了调用。

如何在执行ajax调用时注销用户并显示错误?

2 个答案:

答案 0 :(得分:3)

在服务器端处理AJAX调用之前,您应该检查用户是否已登录。

如果未找到会话,则在AJAX调用中返回特殊错误; JSON的示例:

{"status":"error","error":"loggedout"}

如果应用程序收到此信息,则向用户显示“会话已超时”消息,并将其重定向到登录(或其他适当的)页面。

答案 1 :(得分:0)

如果第一个选项卡的用户明确注销(而不是关闭选项卡),您可以检查在处理PHP的Ajax请求时是否仍然记录。例如:

function login () {
    $_SESSION['isLogged'] = true;
}

function logout () {
    $_SESSION['isLogged'] = false;
}

function isLogged () {
    return (isset ($_SESSION['isLogged']) ? $_SESSION['isLogged'] : false);
}

并在您的Ajax处理程序中:

if (isLogged ()) {
    ...  some stuff here
}
else {
    ... return error message here and ask user to log in
}