PHP 提交后检查数据输入是否已发送,如果少于 3 个字符,则出错


PHP After submit check if Data input was sent, and if its less than 3 characters give error

如何检查此表单输入是否已发送到此PHP页面以及它是否超过3个字符?如果少于 3 个字符,我想打印一个错误。

形式

<form action="index.php" method="post" id="formFlow">
    <label for="name" >Name:</label>
    <input type="text"  name="name" id="name" class="border"/>
</form>

.PHP

<?php
$var = $_POST["name"];
if (!empty($var) || strlen($var >= 3)) {
    echo "Yes, name is sent";    
}else{  
    echo "Error, name short";
}
?>
首先,

您不能在您的条件下使用 OR 运算符,因为它始终为真,字符串长度小于 3 或大于

您必须使用 && 运算符。

其次,您在strlen()它必须需要一个字符串而不是条件时遇到问题。

示例

if (!empty($var) && strlen($var) >= 3) {

我认为这将解决您的问题

<?php
$var = isset($_POST["name"]) ? $_POST["name"] : "";
if (!empty($var) && strlen($var) >= 3) {
    echo "Yes, name is sent";    
} else {  
    echo "Error, name short";
}
?>