4

这是我销毁会话的代码,但它仍然有效。

<?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.
?>

正如您在代码会话结束时看到的那样,为什么也可以工作?

4

2 回答 2

4

来自文档

为了完全终止会话,例如注销用户,还必须取消设置会话 ID。如果使用 cookie 传播会话 id(默认行为),则必须删除会话 cookie。setcookie() 可以用于此。

示例

session_start();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);
于 2013-05-26T12:13:42.823 回答
0

使用后session_destroy(),会话cookie被删除,会话不再存储在服务器上。中的值$_SESSION可能仍然可用,但它们不会在下一页加载时出现。

如果要完全清除会话,可以使用:

session_start();
session_destroy();
$_SESSION = array();
于 2013-05-26T12:13:34.210 回答