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