2

如何session 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 ?
4

2 回答 2

3

不确定是否理解问题,但是否要删除 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 时重用)。

于 2013-03-18T10:46:22.667 回答
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
于 2013-03-18T10:57:28.080 回答