【问题标题】:PHP Session LogoutPHP 会话注销
【发布时间】:2017-01-26 00:10:10
【问题描述】:

人们为什么要这样做?

session_start();
unset($_SESSION['session']);
session_destroy();

为什么人们做 session_start,而不是 unset,然后销毁?

【问题讨论】:

    标签: php security session login


    【解决方案1】:

    session_start() 恢复当前活动会话。通过这样做,您可以访问会话变量。

    unset($_SESSION['session']); unset() 销毁指定的变量。

    session_destroy(); 销毁与当前会话关联的所有数据。它不会取消设置与会话关联的任何全局变量,也不会取消设置会话 cookie。要再次使用会话变量,必须调用 session_start()。

    更多详情请转至http://php.net/manual/en/function.session-destroy.php

    或者你可以搜索

    【讨论】:

      【解决方案2】:

      这些树步骤解释:

      1. Session_start(); -> 初始化会话,如果您已经有会话,则恢复会话。

      2. 未设置($_SESSION); -> 你需要确保一旦你销毁你的会话,即使在内存中,会话数组也不会存在。你可以直接去 session_destroy();继续,但加载的数组仍然存在。

      3. Session_destroy(); -> 通过从客户端删除 cookie 来销毁会话。

      【讨论】:

        【解决方案3】:

        为了销毁当前活动的会话,您需要先启动会话。那是因为session_start() 恢复当前活动的会话。你需要访问它,因为你想知道你正在取消哪个会话。

        您可能想看看手册中的这一行:

        session_start() 根据通过 GET 或 POST 请求或通过 cookie 传递的会话标识符创建会话或恢复当前会话。

        参考:PHP Manual - session_unset()

        【讨论】:

          猜你喜欢
          • 2015-02-13
          • 1970-01-01
          • 2013-07-22
          • 2014-08-15
          • 2012-01-21
          • 1970-01-01
          • 1970-01-01
          • 2012-02-18
          • 2012-05-11
          相关资源
          最近更新 更多