为什么$ var =''改变$ _SESSION ['var']?

时间:2013-11-20 22:46:08

标签: php

5.3.13中的奇怪行为?

我有一个变量$ isguest已经存储在上一页的$ _SESSION ['isguest']中(previous.php)。在当前页面(main.php)上,我想确定用户是否已从previous.php重定向(因此是访客),或者他已直接登录到main.php。然后发生了一些有趣的事情:

session_start();

echo "<pre>";
print_r($_SESSION); // At this point, [isguest] => 1;
echo "</pre>";

    $isguest = '';      // this should have nothing to do with the SESSION variable that happens to have the same name, should it?

echo "<pre>";
print_r($_SESSION); // At this point, [isguest] => 0;
echo "</pre>";

1 个答案:

答案 0 :(得分:1)

首先,我不是不赞同你的方式,但我认为你可以这样做。

代替 ['isguest'] ,创建名为 ['LoggedIn'] 的会话,将其设置为0(false)。这将是,未登录,因此他/她是客人。

当用户登录时,将其设置为1(true)。所以用户确实登录了。

我希望这种帮助你。