2015-07-12 108 views
-2

我的问题就像标题中提到的一样。你可以创建一个没有值的会话变量吗?

登录后我想创建一个标记,看起来像这样:

$_SESSION['token'] === true 

在我的目录中的另一个页面由if语句看起来像这样的:

if($_SESSION['token'] === false) 
    {die('not logged in');} 

然而,即使登录时,页面也会死亡,而不是显示适当的HTML,如果令牌为真,则会显示。

+0

了解比较和分配之间的区别。 – PeeHaa

+0

你得到什么错误?你为什么使用===而不是=来分配true? –

+0

你的标题是神秘的。为什么你认为'$ _SESSION ['token']'是没有值的会话变量“?你看起来像你想存储一个值。 – light

回答

0

正如另一位用户在评论中暗示的那样。您不尝试使用以下行创建会话变量:

$_SESSION['token'] === true; 

这不是一项任务。如果你想分配一个值,你需要做类似如下:

$_SESSION['token'] = true; 

我猜你现在可能,但由于某种原因,我想通过悬而未决的问题,以疏通已经解决了这个问题。

当然,您可以像设置任何其他变量一样比较会话变量。但是,除非将该值设置为false,否则将不匹配false的测试。一旦你给它赋值,你当然可以使用isset()。

相关问题