够了吗
session_start(); // Must start a session before destroying it
if (isset($_SESSION))
{
unset($_SESSION);
session_unset();
session_destroy();
}
当用户从菜单中选择
Log out
,但不退出浏览器时? 我想完全删除会话的所有存在并且$_SESSION
根据手册,还有更多要做的事情:
为了完全终止会话,就像注销用户一样,会话 ID 也必须取消设置。如果使用 cookie 来传播会话 ID(默认行为),则必须删除会话 cookie。 setcookie() 可以用于此目的。
手动链接有一个关于如何做到这一点的完整工作示例。从那里偷来的:
<?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();
?>
我到底该在哪里输入这些内容?当网页显示“您已经打开了另一个会话”但找不到该会话时该怎么办?我找到的唯一方法是关闭浏览器、关闭计算机并花两个小时找点事情做。如果没有进一步的解释,这没有任何帮助。