Required and optional fields of forms for beginners to PHP

Required fields

In the previous chapter we have introduced the validation rules of the table, we can see "Name", "E -mail", and "gender" fields are required and 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 it is 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"]);
  }
}
?>

Display error message

In the following HTML example form, we provide a Several scripts have been added, each of which will display error messages when incorrect information is entered. (If the user submits the form without filling in the information, an error message will be output):

<!DOCTYPE html>
<html>
<head>
   <title>php中文网</title>
</head>
<body>
      <form method="post" action=""> 
      名字: <input type="text" name="name">
            <span class="error">* <?php echo $nameErr;?></span><br><br>
      E-mail: <input type="text" name="email">
            <span class="error">* <?php echo $emailErr;?></span><br><br>
      网址: <input type="text" name="website">
            <span class="error"><?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 class="error">* <?php echo $genderErr;?></span><br><br>
      <input type="submit" name="submit" value="Submit"> 
</form>
</body>
</html>


Continuing Learning
||
<form method="post" action=""> 名字: <input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> E-mail: <input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> 网址: <input type="text" name="website"> <span class="error"><?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 class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
submitReset Code