【问题标题】:session_start() is generating the same session id everytimesession_start() 每次都生成相同的会话 ID
【发布时间】:2012-05-01 15:50:29
【问题描述】:

我正在尝试实现简单的登录和注销机制。当用户登录时,我正在使用session_start() 创建会话。在用户注销时,我正在打电话

session_unset();
session_destroy();

但问题是下次登出后如果再次登入。 the session_id() 与之前相同。不管我做了多少session_destroy()session_id() 总是一样的。这是否意味着session_destroy() 不起作用?还是有其他原因?

【问题讨论】:

    标签: php


    【解决方案1】:

    改变

    session_unset(); 
    session_destroy();
    

    session_start(); 
    session_destroy();
    

    正如您的代码会话并没有真正被破坏。

    【讨论】:

      【解决方案2】:

      http://php.net/session_destroy

      session_destroy() 基本上可以

      $_SESSION = array();
      

      但保持会话 cookie 和存储在其中的会话 ID 不变。您必须通过 setcookie() 调用手动取消设置 cookie,或使用 session_regenerate_id() 强制创建新 ID。

      【讨论】:

        猜你喜欢
        • 2011-08-13
        • 2014-07-03
        • 1970-01-01
        • 2011-01-15
        • 2013-04-01
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多