Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IF语句未检查PHP中的所有条件_Php - Fatal编程技术网

IF语句未检查PHP中的所有条件

IF语句未检查PHP中的所有条件,php,Php,当$ydept==时,意味着用户没有从select选项中选择任何部门,这将导致IF语句失败,这将自动将用户带到tryagain.php页面,但会将用户带到nopass.php页面。所以在某个地方它失败了 我应该尝试&&而不是AND吗?但是我不认为这有什么区别。是的,你应该使用&¬和 由于我没有足够的口才来解释它,这里有一个关于它的好帖子,感谢评论员 是的,您应该使用&¬和 由于我没有足够的口才来解释它,这里有一个关于它的好帖子,感谢评论员 它可能会有所不同,因为,where&&的优先

当$ydept==时,意味着用户没有从select选项中选择任何部门,这将导致IF语句失败,这将自动将用户带到tryagain.php页面,但会将用户带到nopass.php页面。所以在某个地方它失败了

我应该尝试&&而不是AND吗?但是我不认为这有什么区别。

是的,你应该使用&¬和

由于我没有足够的口才来解释它,这里有一个关于它的好帖子,感谢评论员

是的,您应该使用&¬和

由于我没有足够的口才来解释它,这里有一个关于它的好帖子,感谢评论员



它可能会有所不同,因为,where&&的优先级高于and。但它不应该检查所有条件吗?尝试var_dump$ydept,看看会发生什么。我认为这可能与$ydept有关,因为当我将$fname留空时,tryagain.php踢入了正确的选项,因为这是一个SELECT,我是否必须使用$ydept=trimstripslashes$\u POST['ydept'];防止任何XSS攻击?或者说$ydept=$_POST['ydept']安全吗;也许这就是它不起作用的原因?它可能会有所不同,因为,&&的优先级高于and。但它不应该检查所有条件吗?试试var_dump$ydept,看看会发生什么。我认为这可能与$ydept有关,因为当我将$fname留空时,tryagain.php踢入了正确的位置,这是一个选择,我是否必须使用$ydept=trimstripslashes$\u POST['ydept'];防止任何XSS攻击?或者说$ydept=$_POST['ydept']安全吗;也许这就是它不起作用的原因?它在PHP中确实很重要。使用&&时,它计算整个表达式。当您使用时,它会在变量处停止。查看其中一个链接的答案:-我的团队刚刚从我们的应用程序中删除和,它解决了以前的程序员不知道的几个逻辑错误,因为他们不知道&&vs,我现在将更改并测试它。。。谢谢我改为&&但它仍然是NOPASS.phpWhy它在这种情况下会有什么不同,在这里和只出现在括号中,它的优先级应该低于?你需要能够解释为什么它会起作用-1我认为这可能与$ydept有关,因为当我将$fname留空时,tryagain.php正确地插入了,我试图做的是,如果$ydept有任何其他内容,那么让用户继续。这在php中确实很重要。使用&&时,它计算整个表达式。当您使用时,它会在变量处停止。查看其中一个链接的答案:-我的团队刚刚从我们的应用程序中删除和,它解决了以前的程序员不知道的几个逻辑错误,因为他们不知道&&vs,我现在将更改并测试它。。。谢谢我改为&&但它仍然是NOPASS.phpWhy它在这种情况下会有什么不同,在这里和只出现在括号中,它的优先级应该低于?你需要能够解释为什么它会起作用-1我认为这可能与$ydept有关,因为当我将$fname留空时,tryagain.php正确地插入了,我试图做的是,如果$ydept有任何其他内容,那么让用户继续。
if ($fname <> "" and $lname <> "" and $theemail <> "" and $empid <> "" and $doh <> "" and $ydept <> "#") {
    if ($percentage >= 85) {
        mail ($myEmail, $mailSubject, $msgBody, $header);
        mail ($userEmail, $sentMailSubject, $sentMailBody, $sentHeader);
        $filename = "output_annualexam.txt"; #Must CHMOD to 666, set folder to 777
        $text = "\n" . str_pad($fname, 25) . "" . str_pad($lname, 25) . "" . str_pad($empID, 15) . "" . str_pad($doh, 15) . "" . str_pad($tdate, 20) . "" . str_pad($ydept, 44) . "" . str_pad($percentage, 0) . "%";

        $fp = fopen ($filename, "a"); # a = append to the file. w = write to the file (create new if doesn't exist)
        if ($fp) {
            fwrite ($fp, $text);
            fclose ($fp);
            #echo ("File written");
        }
        else {
            #echo ("File was not written");
        }
        header ("Location: congrats.php?fname=$fname&type=$type");
    }
    else {
        header ("Location: nopass.php?percent=$percentage&type=$type");
    }
}
else {
    header ("Location: tryagain.php?type=$type");
}