PHP的会话问题?

问题描述:

我遇到了session_id()的问题。当我调用session_destroy()时,通过专门去登出页面,然后返回到我的开始页面,session_id仍然是一样的。该怎么办? 但是,当我关闭浏览器窗口session_id是一个新的,但如果一个人不关闭他/她的浏览器窗口?PHP的会话问题?

session_destroy()销毁服务器上的会话数据,而不是Cookie中的会话ID。使用setcookie()来取消设置cookie,或者使用session_regenerate_id()来获取新的ID。

+0

session_regenerate_id(示出是正确的函数名称(http:// de.php.net/manual/en/function.session-regenerate-id.php) – Thomas 2010-01-19 15:06:22

再生并破坏变量的顺序是很重要的:

function _session_destroy() { 
    session_regenerate_id(); 
    session_destroy(); 
} 

使用),这些功能如为了下面

session_start(); 
session_unset(); 
/* Kill all session variables */ 
    unset($_SESSION['variable1']); 
    unset($_SESSION['variable2']); 
    . 
    . 
    . 
    . 
    . 
    unset($_SESSION['variableN']); 


    $_SESSION = array(); // reset session array 

/* now generate session id */ 

    session_regenerate_id(); 
    session_destroy(); // destroy session.