PHP:会话问题?

时间:2010-01-19 13:16:46

标签: php session

我遇到了session_id()的问题。当我调用session_destroy()时,通过专门进入注销页面然后我回到我的开始页面,session_id仍然是相同的。该怎么办? 但是当我关闭浏览器窗口时,session_id是一个新的,但如果一个人没有关闭他/她的浏览器窗口怎么办?

3 个答案:

答案 0 :(得分:4)

session_destroy()会破坏服务器上的会话数据,而不会破坏cookie中的会话ID。使用setcookie()取消设置cookie或使用session_regenerate_id()获取新ID。

答案 1 :(得分:0)

再生和销毁变量的顺序很重要:

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

答案 2 :(得分:-1)

按照以下顺序使用这些功能

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.