Php 如何使字段在';它不是空的

Php 如何使字段在';它不是空的,php,forms,validation,Php,Forms,Validation,我知道如何验证字段,以便在其值为空或长度小于或等于10时抛出错误。 但它仅在其为空时验证,如果长度为1或更多,则提交值 需要这里的帮助来验证它吗 if (empty($_POST["comment"]) && $_POST["comment"] <= 10) { $comment_err = "Please send a message more than 10 characters"; } else { $comment = sanitize($_POST

我知道如何验证字段,以便在其值为空或长度小于或等于10时抛出错误。 但它仅在其为空时验证,如果长度为1或更多,则提交值

需要这里的帮助来验证它吗

if (empty($_POST["comment"]) && $_POST["comment"] <= 10) {
    $comment_err = "Please send a message more than 10 characters";
}
else {
    $comment = sanitize($_POST["comment"]);
}
if(空($\u POST[“comment”]”)和&$\u POST[“comment”]”您的问题不清楚,也不准确,但我认为您需要的是:

  • 如果变量为空,则抛出错误
  • 如果可变长度小于10,则抛出错误
因此,在if语句中使用
(| |)和
strlen()
来获得可变长度(如Funk Forth Niner的评论中所述):

if(空($_POST[“comment”])| | strlen($_POST[“comment”])你的问题不清楚也不准确,但我认为你在寻找什么,如果:

  • 如果变量为空,则抛出错误
  • 如果可变长度小于10,则抛出错误
因此,在if语句中使用
(| |)和
strlen()
来获得可变长度(如Funk Forth Niner的评论中所述):


if(empty($_POST[“comment”])| | strlen($_POST[“comment”])只需检查长度。如果长度大于10,则它肯定不是空的,因此无需显式检查

if(isset($_POST["comment"]) && strlen($_POST["comment"]) > 10){
isset
只是为了防止在注释键不存在时出现未定义的索引警告

(顺便说一下,这会反转if和else块,因为它会检查良好的数据,而不是错误情况。)


这是真的,但Funk 49是一个慷慨的灵魂,他免费提供他的智慧,不期望有虚假的互联网点数,他所要求的回报是回家时的一些r e s p e c t。

只要检查长度。如果长度大于10,那么它肯定不是空的,所以你不需要明确检查y

if(isset($_POST["comment"]) && strlen($_POST["comment"]) > 10){
isset
只是为了防止在注释键不存在时出现未定义的索引警告

(顺便说一下,这会反转if和else块,因为它会检查良好的数据,而不是错误情况。)


这是,但Funk 49是一个如此慷慨的灵魂,他免费提供他的智慧,而不期望虚假的互联网点,他所要求的回报是回家时的一些r e s p e c t。

您的代码中有两个问题:


  • 首先,您的条件不正确,您不能同时拥有一个空索引并检查其大小。因此,您应该拥有
    空($\u POST[“comment”])|$\u POST[“comment”]您的代码中有两个问题:


  • 首先,您的条件不正确,您不能同时拥有一个空索引并检查其大小。因此,您应该拥有要查找的
    空($\u POST[“comment”])|$\u POST[“comment”])。它不能为空且具有长度(^我也想到了,但他们抢先一步。@GrumpyCrouton是的,但在这种情况下,它会改变逻辑。如果为空,OP希望设置错误消息,他们仍然需要在此处使用
    strlen()
    。您正在查找。它不能为空且有长度(^我也想到了,但他们比我抢先一步。@GrumpyCrouton是的,但在这种情况下,它会改变逻辑。如果为空,OP想设置错误消息,他们仍然需要在此处使用
    strlen()
    。“;-)如注释中所述(by
    {optional}
    )。”;-)不客气,不要忘记将其中一个答案标记为“答案”“如评论中所述(由
    {optional}
    )…”;-)不客气,不要忘记将其中一个答案标记为«答案»。伙计们,不要播放那首歌。@Progrock为什么,它也会卡在你的脑袋里?伙计们,不要播放那首歌。@Progrock为什么,它也卡在你的脑袋里?Thanx bros我欣赏Thanx bros我欣赏Thanx bros
    if(empty($_POST["comment"]) || strlen($_POST["comment"]) <= 10){
     $comment_err = "Please send a message more than 10 characters";
    }
    else{
     $comment = sanitize($_POST["comment"]);
    }