PHP会话变量无法正常工作

时间:2009-08-04 09:51:52

标签: php

我有一个if / elseif语句,我将GET变量传递给。一旦进入正确的区块,我可以回应一些东西以确保我在正确的位置。在那里,我已经尝试了几次设置会话变量,但它没有正常工作。我确信我做的不对。

if(isset($_GET['mygetvar'])){
  $_SESSION['flag'] = 'on';
}else{
  $_SESSION['flag'] = 'off';
}

当我检查链接带我到第一个街区时,我期待看到国旗,但我什么都没得到。我已经在页面顶部开始了会话。我想要做的就是使用此会话作为标志。如果它打开,做其他事情不。我基本上想把它用作开关。


编辑: 这是实际的代码。这是一个例子。如果你们在这段代码中发现语法错误,那么确实存在错误。我不这么认为,因为我可以很好地回应代码块中的内容。

if(isset($_GET['out']))
{
    $_SESSION['rim'] = 'on';
    echo 'out';
}
else
{
    $_SESSION['rim'] = 'off';
    echo 'in';
}

好的,这是发生了什么....当我做print_r($ _ SESSION); 里面 if / else块,我可以看到正确的结果echo。这是正常的吗?

3 个答案:

答案 0 :(得分:2)

您记得事先致电session_start()吗?

答案 1 :(得分:1)

if($_GET(['mygetvar']))

错误($ _GET不是函数,而是数组)。此外,您可能希望测试该查询参数是否存在,因此请尝试

if(isset($_GET['mygetvar']))

答案 2 :(得分:0)

$ _ SESSION是一个数组。你应该

if($_GET['mygetvar']){

注意$ mygetvar

周围的方括号 编辑:你应该这样做

if(isset($_GET['mygetvar'])){