这是我销毁会话的代码,但它仍在工作。
<?php
session_start();
$_SESSION['name'] = 'Arfan';
$_SESSION['second_name'] = 'Haider';
echo 'My full name is '.$_SESSION['name'].$_SESSION['second_name'].'<br/>';
unset($_SESSION['second_name']);// unset the second_name session
echo 'My name is '.$_SESSION['name'].$_SESSION['second_name'].'<br/>';// work fine error popup
session_destroy();// Destroy all the session
echo $_SESSION['name']; // session is working here.
?>
正如您在代码会话结束时所看到的那样,为什么还要工作?
答案 0 :(得分:4)
来自docs:
为了完全杀死会话,喜欢将用户注销掉, 会话ID也必须取消设置。如果使用cookie来传播 会话ID(默认行为),然后会话cookie必须是 删除。 setcookie()可以用于此。
session_start();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);
答案 1 :(得分:0)
使用session_destroy()
后,会话cookie被删除,会话不再存储在服务器上。 $_SESSION
中的值可能仍然可用,但它们不会出现在下一页加载中。
如果要完全清除会话,可以使用:
session_start();
session_destroy();
$_SESSION = array();