Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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
通过在FireFox中取消设置会话来删除PHP中的会话时出现问题_Php_Firefox_Session_Exit_Logout - Fatal编程技术网

通过在FireFox中取消设置会话来删除PHP中的会话时出现问题

通过在FireFox中取消设置会话来删除PHP中的会话时出现问题,php,firefox,session,exit,logout,Php,Firefox,Session,Exit,Logout,当我按下log out链接时,它不会将用户从页面中退出,但当我在单击后手动刷新时,它确实会注销。 注销命令是: $URL = $_GET['url']; session_unset(); redirect($URL); 当页面被重定向时,我会看到会话变量,尽管它们已被删除和删除 手动刷新后就可以了 Chrome和IE没有任何问题。为了让用户真正注销,您还需要取消设置会话ID和用于将会话ID传播到客户端的cookie 下面是PHP手册中的一个示例代码,它可以做到这一点: <?php //

当我按下log out链接时,它不会将用户从页面中退出,但当我在单击后手动刷新时,它确实会注销。 注销命令是:

$URL = $_GET['url'];
session_unset();
redirect($URL); 
当页面被重定向时,我会看到会话变量,尽管它们已被删除和删除 手动刷新后就可以了


Chrome和IE没有任何问题。

为了让用户真正注销,您还需要取消设置会话ID和用于将会话ID传播到客户端的cookie

下面是PHP手册中的一个示例代码,它可以做到这一点:

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();

您确定这不仅仅是缓存问题吗?由于单击“刷新”会显示为已注销,我怀疑这就是问题所在。在调用会话\u unset?Brad之前是否调用会话\u start()-那么我可以对此做些什么?格本-是的,有。奥菲尔,谢谢你详细的回答,但没有帮助。还是一样。此外,在FireFox的登录情况下也会发生这种情况。