每当我尝试使用其他用户登录时,我发现用户名没有改变,这意味着$ _SESSION ['username']也没有改变,所以我的logout.php脚本有什么问题?< / p>
<?php
session_start();
$_SESSION = array();
session_unset();
session_destroy();
ob_start();
ob_end_flush();
header("location:index.php");
?>
答案 0 :(得分:0)
您还需要删除会话cookie,例如from the reference。
<?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();
?>
另一个很好的参考,乔治布莱顿在评论中提到的PHP Session Introduction。
答案 1 :(得分:0)
会话是一个数组......我看不出你在做什么。
正确的不是这样吗? ..
session_start();
$_SESSION['anything'] = array();
现在
session_destroy();
或
unset($_SESSION['anything']);
答案 2 :(得分:0)
在session_destroy()之前尝试取消设置:
未设置($ _ SESSION); session_destroy();
会话中保存的第一个销毁数据。最后一次破坏COOKIE会话ID。