PHP如果通过$_POST检索到的值都无效,我该如何默认为特定值



我是个新手,所以请原谅我的愚蠢问题,但我很难找到关于g的答案。我向PHP脚本发送了一个下拉表单数据。下拉列表包含值A、B、C、D。如果客户端发送了除A、B、C、D以外的任何内容,我希望默认为A。对于另一个使用数字的下拉列表也是如此(稍后用于每个站点的结果(,而我希望拒绝超过100的高数字和甚至不是数字的值(实际上是恶意请求(。

这是怎么做到的?我会尝试非数字的东西

$postvalue = htmlentities($postvalue, ENT_QUOTES, "UTF-8");
if($postvalue != "A" || "B" || "C" || "D"){
$postvalue = "A";
}

对于数字内容

$postvalue = htmlentities($postvalue, ENT_QUOTES, "UTF-8");
if(!isnumeric($postvalue) OR $postvalue >= 100){
$postvalue = 1;
}

但我不确定这是否正确/安全。

我想你正在尝试添加验证,试试这个-

$acceptedVal = ['A','B','C','D'];
$postvalue = htmlentities($postvalue, ENT_QUOTES, "UTF-8");
if(!in_array($postvalue,$acceptedVal)){
$postvalue = "A";
}

最新更新