通过在FireFox中取消设置会话来删除PHP中的会话时出现问题
当我按下log out链接时,它不会将用户从页面中退出,但当我在单击后手动刷新时,它确实会注销。 注销命令是:通过在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 //
$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的登录情况下也会发生这种情况。