当我使用||时(OR)运算符在我的if语句中,我以无限循环结束。
为简单起见,这里是var_dump:
$auth "0"
$id "2"
$enabled "1"
$page "auth-login.php"
如果在if语句中未满足以下条件,则它会将用户转发到auth-login.php(如果当前$页面为auth-login.php和auth-login-validate.php,则不适用)。
没有||的声明(OR)运算符:按预期转发到auth-login.php,但还必须包含auth-login-validate.php
if ($auth == '0' && $id != '1' && $enabled == '1' && $page != 'auth-login.php') {
header('Refresh: 0; URL=auth-login.php');
die();
}
声明与|| (OR)operator:循环转发到auth-login.php。
if ($auth == '0' && $id != '1' && $enabled == '1' && $page != 'auth-login.php' || $auth == '0' && $id != '1' && $enabled == '1' && $page != 'auth-login-validate.php') {
header('Refresh: 0; URL=auth-login.php');
die();
}
答案 0 :(得分:1)
将是一些与优先级相关的错误。确保将括号放在您打算封装“OR”部分的位置