【问题标题】:String Length validation php form字符串长度验证php表单
【发布时间】:2021-09-12 21:29:45
【问题描述】:

这是我检查该字段是否为空并且工作正常的代码,但是我想检查两者,如果它是空的并且它是否少于 10 个字符

<pre>
        if(empty($_POST['comments'])){ $errors[]="Please enter a comment."; }
</pre>

我试过了

<pre>
        if(empty($_POST['comments'])){ $errors[]="Please enter a comment."; }
        if(strlen($_POST['comments']) > 10){ $errors[]="Please enter a comment."; }
</pre>

但是,这两个都不起作用,所以我尝试了它们都没有工作的结果相同

<pre>
        if(empty($_POST['comments']) && strlen($_POST['comments']) > 10)){ $errors[]="Your 
         comment must be longer than 10 characters."; }
</pre>

我也尝试过 mb_strlen,但没有任何改变。

【问题讨论】:

  • 你的 strlen 比较是倒退的。你正在做,“如果长度大于 10,则发出错误。”

标签: php forms validation


【解决方案1】:

你的逻辑有点不对劲。如果字符串为空 并且长度超过 10 个字符(这将是一个悖论),则您当前正在添加错误。

您需要检查字符串是否为空或更少然后10个字符。

试试这个:

if (empty($_POST['comments']) || strlen($_POST['comments']) < 10) {
    $errors[] = "Your comment must be longer than 10 characters.";
}

该条件检查字符串是否为空如果字符串的 &lt; 少于 10 个字符。

&amp;&amp; 表示
|| 表示
&lt; 表示小于
@ 987654328@ 表示大于

您可以在手册中阅读有关logicalcomparison operators 的更多信息。

【讨论】:

    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    • 2012-06-14
    相关资源
    最近更新 更多