Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 注销时未检测到会话过期_Javascript_Php_Ajax_Session_Session State - Fatal编程技术网

Javascript 注销时未检测到会话过期

Javascript 注销时未检测到会话过期,javascript,php,ajax,session,session-state,Javascript,Php,Ajax,Session,Session State,当我的会话过期时,我想重定向到login.php,我用两个页面进行测试,第一个页面和第二个页面的注销将检测到过期的会话,并且该页面已断开连接。我这样做: 在我的index.php中,我有: <script type="text/javascript"> $(document).ready(function(){ setInterval(function() { $.post( "sessioncheck.php", function( data ) {

当我的会话过期时,我想重定向到login.php,我用两个页面进行测试,第一个页面和第二个页面的注销将检测到过期的会话,并且该页面已断开连接。我这样做:

在我的index.php中,我有:

    <script type="text/javascript">
$(document).ready(function(){

    setInterval(function() {
    $.post( "sessioncheck.php", function( data ) {
        if(data == "-1")
        {
            alert("Your session has been expired!");
            document.location = "login.php";
        }
    });
}, 3000);

});
</script>
session_start();

if(empty($_SESSION))
{
    //expired
    echo "-1";
}
else
{
    //not expired
    echo "1";
}
在logout.php中:

chdir("../../..");
include_once("config/config.php");
$_SESSION = array();
header("location:".__BACKURL."/login.php");

它不起作用,我不知道问题出在哪里。

您是否为会话定义了名称?例如:
$\u会话[“用户”]
。也没有任何东西会破坏会话,例如
unset($\u session)
session\u destroy()
是的,我解决了问题,它在另一个文件中,谢谢