2013-03-18 67 views
2

如何在尝试销毁会话时删除session id如何取消设置会话ID以注销用户?

session_start(); 
$_SESSION['foo'] = 'bar'; 

# clear the session variable 
session_unset(); 
# delete the session 
session_destroy(); 

# NOW WHAT ? HOW DO I UNSET THE SESSION-ID OR DELETE IT ? 
+0

为什么..?以上都不起作用。 – 2013-03-18 10:28:55

+0

我认为你不需要做任何事......当你使用session_destroy()时,与它相关的一切都被清除了。使用print_r($ _ SESSION)来检查它。 – alwaysLearn 2013-03-18 10:31:56

回答

1
session_start(); // initialize the session variables 

session_unset(); // clear the $_SESSION variable 

if(isset($_COOKIE[session_name()])) { 
    setcookie(session_name(),'',time()-3600); # Unset the session id 
} 

session_destroy(); // finally destroy the session 
3

不知道明白这个问题,但dy删除cookie? (默认名称:PHPSESSID)

session_start(); 

session_destroy(); 

$args = array_merge(array(session_name(), ''), array_values(session_get_cookie_params())); 
$args[2] = time() - 3600; 
call_user_func_array('setcookie', $args); 

session_destroy只是删除存储数据的文件(默认处理程序),但如果cookie不除,会话ID将被保留(和再利用上的session_start下次调用)。