2个条件中的PHP1为false,但它标记为true

2个条件中的PHP1为false,但它标记为true,php,Php,目前正在失去它。 我有一个页面,有一个条件,检查用户是否是管理员或重新评级(修复人员,翻译) 登录时,目标是确保管理员用户只能从输入的$admin_ip登录 这段代码在语句之前: $admin_ip = "xxx.xxx.xxx.180"; $login_ip = $_SERVER['REMOTE_ADDR']; 稍后,条件将对其进行检查: if ($functie == "Admin" or "Reperateur&q

目前正在失去它。 我有一个页面,有一个条件,检查用户是否是管理员或重新评级(修复人员,翻译)

登录时,目标是确保管理员用户只能从输入的$admin_ip登录

这段代码在语句之前:

    $admin_ip = "xxx.xxx.xxx.180";
    $login_ip = $_SERVER['REMOTE_ADDR'];
稍后,条件将对其进行检查:

    if ($functie == "Admin" or "Reperateur" AND $login_ip == $admin_ip) {
         return true;
    } else if ($login_ip != $admin_ip AND $functie == "Admin" or "Reperateur") {
         return false;
    } else {
         return true;
    }
调试显示该语句应为false:

调试屏幕截图:

我只是没有看到它或者错过了什么吗?

比如@PaulT。他说:


检查无效。应该是:
if($functie==“Admin”或$functie==“repertateur”)和…
在下一个else中相同,如果也是

因此,条件是固定的,如下所示:

  if (($functie == "Admin" or $functie == "Reperateur") AND $login_ip == $admin_ip) {
       return true;
  } else if (($functie == "Admin" or $functie == "Reperateur") AND $login_ip != $admin_ip) {
       return false;
  } else {
       return true;
  }
就像@PaulT说的:


检查无效。应为:
如果($functie==“Admin”或$functie==“repertateur”)和…
在下一个else中相同,如果也是

因此,条件是固定的,如下所示:

  if (($functie == "Admin" or $functie == "Reperateur") AND $login_ip == $admin_ip) {
       return true;
  } else if (($functie == "Admin" or $functie == "Reperateur") AND $login_ip != $admin_ip) {
       return false;
  } else {
       return true;
  }

检查无效。应为:
如果($functie==“Admin”或$functie==“repertateur”)还有…
下一步也一样,如果有。请更好地解释你的目标,我不明白。嗨@PaulT。我刚刚试过你说的,效果很好。谢谢你,PHP的新手,这有助于我理解。
检查无效。应该是:
如果($functie==“Admin”或$functie==“repeateur”)还有…
下一步也一样。请更好地解释你的目标,我无法理解。嗨@PaulT。我刚刚尝试了你说的,效果很好。谢谢你,PHP新手,这有助于我理解!