为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 运算符无法正常使用我的脚本

PHP 运算符无法正常使用我的脚本

PHP
繁花不似锦 2022-12-11 09:34:43
我有一个登录脚本,可以检查用户是管理员还是测试用户。我写这篇文章是为了检查其中任何一个,因为当我将我的网站设置为维护模式时,它不会允许除管理员和测试用户之外的任何人登录。问题是,就目前而言,我只能有 1 个用户才能使其正常工作。所以要么是管理员,要么是测试用户。我想两者兼得。我知道并阅读了 PHP 和/或语句,但这不适用于我正在尝试的内容。这是非常基本的imo。  if($user === false){        $_SESSION['message'] = '<br /><div class="text-center alert alert-danger" role="alert">Your username is incorrect. Please try again</div>';    } elseif ($username <> admin or $username != testuser){      header('Location: /maint.php');      exit;    }这有效  if($user === false){        $_SESSION['message'] = '<br /><div class="text-center alert alert-danger" role="alert">Your username is incorrect. Please try again</div>';    } elseif ($username <> admin){      header('Location: /maint.php');      exit;    }我什至尝试添加管道而不是 or 但这确实有效。  if($user === false){        $_SESSION['message'] = '<br /><div class="text-center alert alert-danger" role="alert">Your username is incorrect. Please try again</div>';    } elseif ($username <> admin || $username != davidm){      header('Location: /maint.php');      exit;    }如果两者都在脚本中,则两者都失败并被重定向到 maint.php有人在这里看到我的错误吗?
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

这不是运营商的问题,错误在逻辑上。

if ($username != 'admin' || $username != 'testuser')
    header('Location: /maint.php');

意味着,如果用户名不是admin,或者如果用户名不是testuser,则重定向。这听起来不错,除了它总是会重定向,因为如果用户名是admin那么它就不是testuser,反之亦然。你实际上想要:

if ($username != 'admin' && $username != 'testuser')


查看完整回答
反对 回复 2022-12-11
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

这应该有效:您没有围绕“amin”和“testuser”的引用。在带有 AND 或 OR 的 if 语句中,我总是在每个部分周围使用额外的 ()。它更适合阅读并且有助于避免错误。


if($user === false){

    $_SESSION['message'] = '<br /><div class="text-center alert alert-danger" 

        role="alert">Your username is incorrect. Please try again</div>';

} elseif ( ($username != "admin") or ($username != "testuser") ){

    header('Location: /maint.php');

    exit;

}


查看完整回答
反对 回复 2022-12-11
  • 2 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号