取消设置一组 PHP 会话
unset a group of PHP sessions
我最近 运行 遇到了一个 PHP $_SESSION
变量的 st运行ge 问题。
在 renewal-check.php
我们从数据库中检索用户信息并像这样保存它:
$_SESSION['parent']['mailing_address'];
$_SESSION['parent']['home_phone'];
$_SESSION['parent']['cell_phone'];
然后要求他们输入其中一个值以确认他们的身份。如果他们无法确认,$_SESSION['parent']
就是 unset()
和 unset($_SESSION['parent']);
不过,运行echo $_SESSION['parent']['somevalue']
还是给出了数据。如果 unset()
不工作,我如何取消设置 $_SESSION['parent']
下的所有会话变量?
示例代码:
page1.php
session_start();
$_SESSION['parent']['mailing_address'] = "somevalue";
$_SESSION['parent']['home_phone'] = "somevalue";
$_SESSION['parent']['cell_phone'] = "somevalue";
page2.php
session_start();
unset($_SESSION['parent']);
echo $_SESSION['parent']['cell_phone'];
Page2.php 仍然输出数据,即使在取消设置 $_SESSION['parent']
之后也是如此。
unset($_SESSION['var'])
是正确的函数。
您是否使用 session_start()
初始化了会话?
如果有,则可能是您的 PHP 安装有问题。
尝试重新实例化它
$_SESSION['parent'] = array();
我最近 运行 遇到了一个 PHP $_SESSION
变量的 st运行ge 问题。
在 renewal-check.php
我们从数据库中检索用户信息并像这样保存它:
$_SESSION['parent']['mailing_address'];
$_SESSION['parent']['home_phone'];
$_SESSION['parent']['cell_phone'];
然后要求他们输入其中一个值以确认他们的身份。如果他们无法确认,$_SESSION['parent']
就是 unset()
和 unset($_SESSION['parent']);
不过,运行echo $_SESSION['parent']['somevalue']
还是给出了数据。如果 unset()
不工作,我如何取消设置 $_SESSION['parent']
下的所有会话变量?
示例代码:
page1.php
session_start();
$_SESSION['parent']['mailing_address'] = "somevalue";
$_SESSION['parent']['home_phone'] = "somevalue";
$_SESSION['parent']['cell_phone'] = "somevalue";
page2.php
session_start();
unset($_SESSION['parent']);
echo $_SESSION['parent']['cell_phone'];
Page2.php 仍然输出数据,即使在取消设置 $_SESSION['parent']
之后也是如此。
unset($_SESSION['var'])
是正确的函数。
您是否使用 session_start()
初始化了会话?
如果有,则可能是您的 PHP 安装有问题。
尝试重新实例化它
$_SESSION['parent'] = array();