Complete HTML Form Validation in PHP
In this article, you will learn complete an HTML form validation using PHP. It is important to validate the form data submitted by users because it may contain some malicious values that can harm your software. Form validation also helps the user to provide input in correct format. HTML has several types of input fields, the same validation code cannot be applied to all. So, here you will learn how to validate different types of HTML input fields one by one.

Submit button validation
First of all, we should check whether the submit button has clicked by the user or not. We can check this by submit button value. If it is empty, then it returns error message. It is good practice to write other validation code within this check.
<?php
if(!$_POST['submit']){
print 'Please submit the form.';
}
?>
<form action="">
<input type="submit" name="submit" value="Submit" />
</form>
Required field validation
We can check all required fields validation using PHP strlen() or isset() methods. The strlen() method checks the length of a given string, if it is null then the required field is empty and the isset() method checks whether the variable has set some value. If it returns NULL means the required field is empty.
if (!strlen($_POST['name'])) {
print 'Please enter your name.';
}
OR
if(!(isset($_POST['name']))) {
print 'Please enter your name.';
}
Number input validation
PHP provides ctype_digit() method to check the numeric characters. It returns a boolean value.
if(!ctype_digit($_POST['age'])) {
print 'Please enter your age in number.';
}
Email Address Validation
To validate email address, it is easiest to use PHP 'filter_var()' function. It has predefined range for types of filter that filters the variable with a specified filter. Like, FILTER_VALIDATE_EMAIL is used to validate the email address.
$email = $_POST['email'];
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo 'Please enter valid email address';
}
Radio button validation
The radio button validation can have multiple choices. Here, we have validated the radio button input by storing all the options in array first, then we have used array_key_exists() method for input validation. It checks whether the selected radio button value is present inside the array or not.
$choices = array('red' => 'Red Balloons',
'yellow' => 'Yellow Wall',
'green' => 'Green Leaves');
foreach($choices as $key => $choice) {
echo " $choice \n";
}
// validating the radio button submission
if(!array_key_exists($_POST['color'], $choices)) {
echo "Please select a valid color.";
}
Checkbox validation
To validate the checkbox, we have used PHP isset() method and equals to (==) operator.
echo "<input type='checkbox' name='conditions' value='yes'/> Accept terms and conditions";
// validating the checkbox
if(isset($_POST['conditions'])) {
if($_POST['conditions'] == 'yes') {
print 'Conditions accepted';
} else {
$subscribed = false;
print 'Invalid checkbox value submitted.';
}
} else {
// No value was submitted
print 'Please accept the terms and conditions.';
}
URL validation
To check a valid URL address, in the below code we have used PHP 'filter_var()' method. It has predefined 'FILTER_VALIDATE_URL' option to check whether the URL is in a valid format or not.
$url = $_POST['url'];
if(!filter_var($url, FILTER_VALIDATE_URL)) {
echo 'Please enter valid URL address.';
}
Related Articles
How to display PDF file in PHP from databaseHow to read CSV file in PHP and store in MySQL
Create And Download Word Document in PHP
PHP SplFileObject Standard Library
Simple File Upload Script in PHP
Sending form data to an email using PHP
Recover forgot password using PHP and MySQL
Php file based authentication
Simple PHP File Cache
How to get current directory, filename and code line number in PHP