PHP Form - Required Fields
In this chapter we will introduce how to set the required fields and error messages of the form.
PHP - Required fields
In the previous chapter we have introduced the validation rules of the table, we can See that the "Name", "E-mail", and "Gender" fields are required and each field cannot be empty.
If in the previous chapter, all input fields are optional.
In the following code we have added some new variables: $nameErr, $emailErr, $genderErr, and $websiteErr.. These error variables will be displayed on required fields. We also added an if else statement for each $_POST variable. These statements will check if the $_POST variable is empty (using PHP's empty() function). If it is empty, the corresponding error message will be displayed. If not empty, the data will be passed to the test_input() function:
<?php // 定义变量并默认设为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "名字是必需的。"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "邮箱是必需的。"; } else { $email = test_input($_POST["email"]); } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "性别是必需的。"; } else { $gender = test_input($_POST["gender"]); } } ?>
##PHP - Display error message
In the following HTML example form, we have added some scripts for each field. Each script will display an error message when the information is entered incorrectly. (If the user submits the form without filling in the information, an error message will be output):<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 名字: <input type="text" name="name"> <span>* <?php echo $nameErr;?></span> <br><br> E-mail: <input type="text" name="email"> <span>* <?php echo $emailErr;?></span> <br><br> 网址: <input type="text" name="website"> <span><?php echo $websiteErr;?></span> <br><br> 备注: <textarea name="comment" rows="5" cols="40"></textarea> <br><br> 性别: <input type="radio" name="gender" value="female">女 <input type="radio" name="gender" value="male">男 <span>* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>Note: The so-called required fields are not static, and some are determined according to needs, such as some People just don’t have E-mail, or filling in or not filling in E-mail has no obvious impact on the use effect, so you can leave it blank or choose to fill it in. This depends on the actual situation.