【问题标题】:Destroying a session the right way以正确的方式销毁会话
【发布时间】:2016-11-13 01:31:26
【问题描述】:

这似乎是一个显而易见的问题,但我自己却找不到答案。

在注销脚本中,您会看到许多不同的销毁会话的方式。有时它们甚至会一起使用。

为什么我应该使用一种方法而不是另一种方法?

// One
session_unset();

// Two
session_destroy();

// Three
$_SESSION = array();

我知道这些函数的作用和用途。我不明白的是,如果他们做同样的事情,为什么会有多种方法。我提出这个问题是为了更好地了解这一点。

【问题讨论】:

  • 使用session_destroy();
  • session_unset(); 等于 $_SESSION = array();
  • 只有session_destroy()直接对session做点什么
  • 这可能会有所帮助!!
    enter link description here
  • session_destroy();销毁所有会话变量。

标签: php session


【解决方案1】:

他们不做同样的事情。 会话未设置将清除 $_SESSION 变量;

session_unset();

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

PHP 手册指定 session_destroy 不会取消设置变量。

只对不使用 $_SESSION 的旧代码使用 session_unset()。

Unset 主要用于针对特定会话,其中销毁所有会话。

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 2015-03-03
    • 2016-09-17
    • 2012-03-21
    • 2011-11-25
    • 1970-01-01
    • 2013-09-02
    • 2012-05-25
    • 2011-11-06
    相关资源
    最近更新 更多