繁体   English   中英

PHP 2 个条件中的 1 个为假,但它标记为真

[英]PHP 1 of the 2 conditions is false, yet it marks as true

目前正在失去它。 我有一个页面,该页面的条件是检查用户是管理员还是维修员(维修人员,已翻译)

登录时,目标是确保管理员用户只能从输入的 $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;
    }

调试显示该语句应该是错误的:

调试截图:

在此处输入图像描述

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

就像@PaulT。 说:

or检查无效。 应该是: if (($functie == "Admin" or $functie == "Reperateur") AND...在下一个 else if 中也一样。

因此,条件通过以下方式固定:

  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;
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM