Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Session 正在尝试在中销毁未初始化的会话_Session - Fatal编程技术网

Session 正在尝试在中销毁未初始化的会话

Session 正在尝试在中销毁未初始化的会话,session,Session,我想根据会话的id销毁会话,但在 如何使用会话id销毁会话 更新 我明白了,我只需要一个条件,说明若会话被破坏,我想引导页面登录。。如何检查 我希望它像例如用户登录在pc1然后登录在pc2 pc1将直接登录 如果你看这里: if (!($savedid == $current_session_id)) { // 3. hijack then destroy session specified. session_id($savedid); session_start();

我想根据会话的id销毁会话,但在

如何使用会话id销毁会话

更新

我明白了,我只需要一个条件,说明若会话被破坏,我想引导页面登录。。如何检查

我希望它像例如用户登录在pc1然后登录在pc2 pc1将直接登录

如果你看这里:

if (!($savedid == $current_session_id)) {
    // 3. hijack then destroy session specified.
    session_id($savedid);
    session_start();
    session_destroy();
    session_commit();
    if (session_destroy()) { //eror here
        header("Location: ../../../index.php");
        exit;
    }

    // 4. restore current session id. If don't restore it,
    // your current session will refer to the session you just destroyed!
    session_id($current_session_id);
    session_start();
    session_commit();
}
您将注意到,您试图破坏会话两次。
第二次调用
session\u destroy()

这就是为什么会出现错误。只需删除对
会话的第一个调用

编辑:根据您的问题更新:您不需要检查(会话是否已销毁),因为您已经销毁了它,即您可以确保现在没有会话。(直到调用
会话\u start()

您可以通过调用
session\u id()
检查会话是否存在-如果没有会话,则返回空字符串:

session_start();
session_destroy(); // Destry
session_commit();
if(session_destroy()){ // Again

您已经销毁了它,为什么要再次销毁它?我明白了,我只需要一个条件,说明若会话被销毁,我想引导页面登录。。如何检查@阿尔格。例如,我希望用户登录到pc1,然后登录到pc2 pc1将被定向到登录您有两个对
session\u destroy()
的消费调用。只要去掉第一个:)@Al.G。请查看更新的问题和上面的评论。我相应地更新了我的答案。
如何检查会话何时被破坏,以便我可以直接登录?
我想这样做,例如用户登录pc1然后登录pc2 pc1将被定向登录
?@BrownmanRevival我没有看到您在发布时更新了您的问题我的回答是,对不起。更新!
if(!session_id()) { /* No session. Redirect! */ }
else { /* There is a session. Continue. */ }