检查会话是否存在并具有特定值

时间:2014-11-27 16:17:07

标签: php session


我正在尝试检查会话是否存在并且具有特定值(2)以显示网站的一部分,如果不存在则应该返回到其他页面。

到目前为止我得到了这个:

$_SESSION["deel"] = "2";  //set session deel to 2
$result = array("error" => false, "html" => null);
$result["error"] = false;
$result["html"] = "<h3>Session information:";
$result["html"] .= "<a href='/shop/?,69'>$_SESSION[class2C]</a>";
$result["html"] .= "</h3>";

之后我们转到另一页:

if (!isset($_SESSION['deel']) || $_SESSION['deel'] == '2')
{ show the shit }
else 
{ redirect }

然而,它没有做任何事情只是向我展示了“狗屎” 我在这做错了什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

你的病情错了

if (!isset($_SESSION['deel']) || $_SESSION['deel'] == '2')
    ^                         ^^

表示如果未设置会话或设置了会话,则值为2,即使没有会话也是如此。你应该这样做:

if (isset($_SESSION['deel']) && $_SESSION['deel'] == 2)

这也可以从你自己的陈述中得出

  

我试图检查会话是否存在且具有特定值(2)

                      ^       ^          ^
 if (isset($_SESSION['deel']) &&  $_SESSION['deel'] == 2)