我试图检查我从ajax获得的变量是否是我所期望的,或者是否有人试图注入一些讨厌的东西。
基本上我需要检查两件事...... $ sortvalue是两个可能的选项之一,$ sortorder是两个可能的选项之一。这需要是一个OR / AND语句。像这样:
检查1:如果$ sortvalue是"值" OR" database_percent" 和 检查2:如果$ sortorder是" asc"或" desc"
然后继续其余的代码。
我在PHP中有以下内容,$ sortvalue部分可以工作,但是$ sortorder没有。也就是说,如果我尝试发送" asc"以外的值。或" desc"对于$ sortorder,我得到500错误。我想我不太确定如何将它们嵌套在一起。
if ($sortvalue == "value" || $sortvalue == "database_percent" && $sortorder == "asc" || $sortorder == "desc") {
//do something
}
else {
//do something different
}
答案 0 :(得分:3)
您需要使用括号来强制运算符优先级:
if (
($sortvalue == "value" || $sortvalue == "database_percent")
&&
($sortorder == "asc" || $sortorder == "desc")
) {
//do something
}
else {
//do something different
}