PHP中的IF条件无法正常工作。

时间:2015-05-06 03:53:41

标签: php

我只需要检查我的$_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情况有什么不对?

3 个答案:

答案 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();
}