Curriculum
Course: PHP Basic
Login

Curriculum

PHP Basic

PHP Install

0/1

PHP Casting

0/1

PHP Constants

0/1

PHP Magic Constants

0/1

PHP Operators

0/1

PHP Reference

0/276
Text lesson

PHP Forms – Required

PHP – Required Fields

According to the validation rules table on the previous page, the “Name,” “E-mail,” and “Gender” fields are mandatory in the HTML form and cannot be left empty.

Field

Validation Rules

Name

Required: Must only contain letters and whitespace.

E-mail

Required: Must contain a valid email address (including @ and .).

Website

Optional: If provided, it must contain a valid URL.

Comment

Optional: Multi-line input field (textarea).

Gender

Required: Must select one.

In the previous chapter, all input fields were optional.

In the following code, we’ve introduced new variables: $nameErr, $emailErr, $genderErr, and $websiteErr. These variables will store error messages for the required fields. Additionally, we’ve added an if-else statement for each $_POST variable. This checks if the $_POST variable is empty using the PHP empty() function. If it’s empty, an error message is assigned to the respective error variable. If it’s not empty, the user input data is passed through the test_input() function.

// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
 if (empty($_POST["name"])) {
    $nameErr = "Name is required";
 } else {
    $name = test_input($_POST["name"]);
 }

 
if (empty($_POST["email"])) {
    $emailErr = "Email is required";
 } 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 = "Gender is required";
 } else {
    $gender = test_input($_POST["gender"]);
 }
}

PHP – Display The Error Messages

Next, in the HTML form, we include a small script after each required field to display the appropriate error message if necessary (i.e., if the user attempts to submit the form without completing the required fields).

Example

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
 
Name: <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>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
 
</form>

The next step involves validating the input data: ensuring the “Name” field contains only letters and whitespace, verifying if the “E-mail” field has a valid email address syntax, and if provided, confirming if the “Website” field contains a valid URL.