我将如何验证字段,因此如果其值为空或长度小于或等于10,它将引发错误。 但是,只有当长度为1或更大时,它才会验证是否为空。
需要帮助以使其生效
if (empty($_POST["comment"]) && $_POST["comment"] <= 10) {
$comment_err = "Please send a message more than 10 characters";
}
else {
$comment = sanitize($_POST["comment"]);
}
答案 0 :(得分:1)
您的问题不够准确,但我认为您要查找的是:
因此,在 if 语句中使用 OR
(||),然后使用strlen()
获得可变长度( Funk Forty Niner的评论):
if(empty($_POST["comment"]) || strlen($_POST["comment"]) <= 10){
$comment_err = "Please send a message more than 10 characters";
}
else{
$comment = sanitize($_POST["comment"]);
}
答案 1 :(得分:1)
只需检查长度即可。如果长度大于10,则肯定不是空的,因此您无需明确检查。
if(isset($_POST["comment"]) && strlen($_POST["comment"]) > 10){
isset
只是为了防止未定义的索引警告(如果该注释键不存在)。
(顺便说一下,这会反转if和else块,因为它检查的是正确的数据而不是错误情况。)
这是partially answered in the comments,但是Funk Forty Niner如此慷慨,他免费赠送了自己的智慧,没有期望获得虚假的互联网积分,当他返回时,他所要求的只是某种尊重回家。
答案 2 :(得分:1)
您的代码中有两个问题:
empty($_POST["comment"]) || $_POST["comment"] <= 10
strlen()
函数http://php.net/manual/en/function.strlen.php 因此您的最终代码将是:
if(empty($_POST["comment"]) || strlen($_POST["comment"]) <= 10){
$comment_err = "Please send a message more than 10 characters";
}
else{
$comment = sanitize($_POST["comment"]);
}