我只需要检查我的$_SESSION['member-type']
是否在php中有1或0。
所以我这样对待我的IF条件:
if (($_SESSION['member_type'] != 1) OR ($_SESSION['member_type'] != 0)) {
echo "<h2>You are not authorized to access this page.</h2>";
exit();
}
但它总是回显<h2>
字符串。
此IF情况有什么不对?
答案 0 :(得分:0)
你不应该使用&#39;或&#39;和&#39;!=&#39; - 您的其中一个评估将始终为真,因此<h2>
将始终得到回应。如果任何值等于1,则它不等于0,反之亦然。
答案 1 :(得分:0)
这应该满足你的条件
$arr_allowed_ids = array(0,1);
if (!in_array($_SESSION['member_type'],$arr_allowed_ids)) {
echo "<h2>You are not authorized to access this page.</h2>";
exit();
}
或
{{1}}
答案 2 :(得分:0)
我尝试了你的代码&amp;我开始知道,如果会话变量为NULL,则if条件失败。
if ((isset($_SESSION['member_type'])
&&(($_SESSION['member_type'] != 1)
OR($_SESSION['member_type'] != 0)))
{
echo "<h2>You are not authorized to access this page.</h2>";
exit();
}