【问题标题】:Session unset unsetting every variable?会话未设置取消设置每个变量?
【发布时间】:2011-08-31 12:50:14
【问题描述】:

我只想取消设置 play_mode 但是第二行也取消设置了landing_site。

为什么会这样?

session_start();

session_unset($_SESSION['play_mode']);

echo $_SESSION['landing_site'];

【问题讨论】:

  • 如果我将第三行更改为简单的 ECHO,我会得到:"" 如果我​​删除第二行,我会得到 "www.example.com"...

标签: php session


【解决方案1】:

因为,按照the documentation

The session_unset() function frees all session variables currently registered.

另外,session_unset() 不接受任何参数。

如果您只想取消设置$_SESSION['play_mode'],那么只需执行unset($_SESSION['play_mode'])

【讨论】:

    【解决方案2】:

    session_unset
    The session_unset() function frees all session variables currently registered.
    试试这个:

    unset($_SESSION['play_mode']);
    

    [编辑]
    这个问题需要更多人链接手册!

    【讨论】:

      【解决方案3】:

      来自 php.net

      void session_unset ( void )
      The session_unset() function frees all session variables currently registered.
      

      如果您只想取消设置一个变量,那么只需使用 unset。

      unset($_SESSION['play_mode']);
      

      【讨论】:

        【解决方案4】:

        你希望 unset() 用于单个 var 而不是 session_unset() 整个会话

        【讨论】:

          猜你喜欢
          • 2016-10-01
          • 2013-02-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多