我正在尝试实现简单的登录和注销机制。当用户登录时,我使用session_start()
创建会话。当用户退出时,我正在呼叫
session_unset();
session_destroy();
但问题是下次登出后如果再次登录。 the session_id()
与之前相同。无论我做session_destroy()
多少,session_id()
总是一样的。这是否意味着session_destroy()
无效?还是有其他原因?
答案 0 :(得分:5)
更改
session_unset();
session_destroy();
到
session_start();
session_destroy();
与你的代码会话一样,并没有真正被破坏。
答案 1 :(得分:3)
http://php.net/session_destroy
session_destroy()基本上是
$_SESSION = array();
但保留会话cookie,并保存其中的会话ID。您必须通过setcookie()
调用手动取消设置Cookie,或使用session_regenerate_id()
强制创建新ID。