我正在尝试检查会话是否存在并且具有特定值(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 }
然而,它没有做任何事情只是向我展示了“狗屎” 我在这做错了什么?
提前致谢。
答案 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)