PHP Server Side Form Validation

In this article, you will learn how to validate an HTML form at server side using PHP. It is important to validate the form data submitted by the users because it may contain some inappropriate values that can harm your software. Form validation also helps the user to provide inputs in correct format.

PHP Server Side Form Validation

The Server side form validation is more secure than the Client side form validation. Suppose, you are validating a HTML form using Javascript client side form validation. And if the user has disabled the Javascript on their browser then the validation will not work. Server side form validation is done on the server side after the data has been submitted. This validates the data before storing it in database.



The code below validate a simple HTML form that collects the employee information.


index.php

This is the main file that we will call on the browser. This HTML form contains five input files to collect employee information and a submit button. We have included the form validation file form_validation.php at the top.


<?php 
	include('form_validation.php'); 
?>
<html>
	<head>
		<title>Server Side Form Validation</title>
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
		<style>.error { color: red;}</style>
	</head>
	<body>
		<div class="container">
		<form action="" method="post" name="emp_form">
		<div class="form-group">
			<label class="control-label col-sm-2" for="textinput">Employee Name</label>  
			<div  class="col-sm-8">
			<input id="textinput" name="name" placeholder="Enter your employee name" class="form-control input-md" type="text">
			<?php echo $error_empname; ?>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2" for="textinput">Email</label>  
			<div class="col-sm-8">
			<input id="textinput" name="name" placeholder="Enter your email address" class="form-control input-md" type="text">
			<?php echo $error_email; ?>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2" for="textinput">Phone</label>  
			<div class="col-sm-8">
			<input id="textinput" name="phone" placeholder="Enter your phone address" class="form-control input-md" type="text">
			<?php echo $error_ph; ?>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2" for="textinput">Username</label>  
			<div class="col-sm-8">
			<input id="textinput" name="phone" placeholder="Enter your username" class="form-control input-md" type="text">
			<?php echo $error_username; ?>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2" for="textinput">Password</label>  
			<div class="col-sm-8">
			<input type="password" name="password" value="<?php echo $password; ?>" />
			<?php echo $error_password; ?>
			</div>
		</div>
		<div class="form-group">
			<label class="control-label col-sm-2" for="textinput">Confirm Password</label>  
			<div class="col-sm-8">
			<input type="password" name="confirm" value="<?php echo $confirm; ?>" />
			<?php echo $error_confirm; ?>
			</div>
		</div>
		<div class="form-group">		
			<input type="submit" name="Submit" value="Submit" />
		</div>
		</form>
		</div>
	</body>
</html>


form_validation.php

The PHP validation code is here for validating the above HTML Form. In the below code, the isset() function first checks whether the form is submitted or not. If it is then, it trims all the white spaces of field values using trim() function. After that, this script validate empty input field, validate email, validate phone, validate username and password. If any field values is not following the validation rules then server send back error message to client web page.

<?php
 
if(isset($_POST['Submit'])){ 
	$emp_name=trim($_POST["emp_name"]);
	$emp_email=trim($_POST["email"]);
	$emp_ph=trim($_POST["phone"]);
	$emp_uname=trim($_POST["username"]);
	$password=trim($_POST["password"]);
	$confirm=trim($_POST["confirm"]);

	if($emp_name =="") {
	$error_empname=  "<span class='error'>Please enter your name.</span>";
	}

	elseif($emp_email == "") {
	$error_email=  "<span class='error'>Please enter your email</span>"; 
	} 

	elseif(!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $emp_email)){
	$error_email= "<span class='error'>Please enter valide email, like This email address is being protected from spambots. You need JavaScript enabled to view it.</span>";
	}

	elseif($emp_ph == ""){
	$error_ph =  "<span class='error'>Please enter phone number.</span>";
	}

	elseif(is_numeric(trim($emp_ph)) == false){
	$error_ph =  "<span class='error'>Please enter numeric value.</span>";
	}

	elseif($emp_uname == ""){
	$error_username =  "<span class='error'>Please enter uername.</span>";
	}

	elseif(strlen($emp_uname)<5){
	$error_username =  "<span class='error'>Username should be atleast five characters.</span>";
	}

	elseif($password == ""){
	$error_password=  "<span class='error'>Please enter password</span>";
	}

	elseif($confirm == ""){
	$error_confirm=  "<span class='error'>Please enter confirm password</span>";
	}

	elseif($password != $confirm) {
	$error_confirm=  "<span class='error'>Password and confirm password does not match</span>";
	}

	else{
	// Mysql insert statement
	// After successful form submission, it will be redirect to thankyou.php file.
	header("Location: thankyou.php");
	}
}
?>
Server Side Form Validation



Related Articles

Preventing Cross Site Request Forgeries(CSRF) in PHP
PHP code to send email using SMTP
Simple pagination in PHP
Simple PHP File Cache
PHP Connection and File Handling on FTP Server
Sending form data to an email using PHP
Recover forgot password using PHP and MySQL
How to display PDF file in PHP from database
How to read CSV file in PHP and store in MySQL
Create And Download Word Document in PHP
How to display PDF file in PHP from database
How 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




Read more articles


General Knowledge



Learn Popular Language