我使用下面的JavaScript每隔5秒检查用户会话是否没有过期(使用PHP)。在从另一个选项卡(相同的浏览器)注销或当前会话必须过期后,代码仍然会启动应该为活动会话工作的alert("Logged back in.");
。
setInterval(function () {
var checklogin = "<? if ($this->session->userdata('user_logged_in')) {echo '1';} else {echo '0';} ?>";
if (checklogin == "1" ){
alert("Logged back in.");
} else {
alert("you are already logged out!");
}
}, 5000);
请问我做错了什么?
代码的php部分不会在运行时更改。例如,您可以对服务器执行AJAX调用来检索会话信息。
编辑:如果您正在使用jQuery,请查看:jQuery Ajax
如果没有jQuery,看看:如何在没有jQuery的情况下进行ajax调用?