2012-04-20 60 views
2

我试图实现简单的登录和注销机制。当用户登录时,我使用session_start()创建会话。并在用户注销时我打电话session_start()每次生成相同的会话ID

session_unset(); 
session_destroy(); 

但问题是,如果再次登录下次登录后,如果再次登录。 the session_id()与之前相同。无论我做多少session_destroy()session_id()总是相同的。这是否意味着session_destroy()不工作?或者还有其他原因?

回答

5

变化

session_unset(); 
session_destroy(); 

session_start(); 
session_destroy(); 

与你的代码的会话是不是真的被销毁。

3

http://php.net/session_destroy

session_destroy()基本上没有

$_SESSION = array(); 

但离开会话cookie,并存储在它的会话ID,完整。您必须通过setcookie()呼叫手动取消cookie设置,或使用session_regenerate_id()强制创建新的ID。