Server Side Form Validation in PHP and MySQL

Server side validation on forms in PHP and MySQL. In this tutorial; you will learn how to add or use server-side validation rules on HTML forms in PHP with MySQL database.

This tutorial will create a simple user registration form and add server-side validation to it using PHP and MySQL. And As well as validate and store form data in the MySQL database in PHP. And you can download the free source code of server side form validation php source php code.

How to Validate Form Data on Server Side in PHP MySQL

Let’s follow the following steps to validate form data on the server side in PHP MySQL:

  • Step 1 – Create a PHP Project
  • Step 2 – Setup Database with PHP Project
  • Step 3 – Create an HTML form
  • Step 4 – Add Server Side Validation with Form

Step 2 – Create a PHP Project

Visit your web server directory and create PHP project.

Step 2 – Setup Database with PHP Project

Create a file name db.php and update the below code into your file.

The below code is used to create a MySQL database connection in PHP. When we insert form data into MySQL database, there we will include this file:

<?php
	$servername='localhost';
	$username='root';
	$password='';
	$dbname = "my_db";
	$conn=mysqli_connect($servername,$username,$password,"$dbname");
	  if(!$conn){
		  die('Could not Connect MySql Server:' .mysql_error());
		}
?>

Step 3 – Create an HTML form

Create html form; so create index.php file and add following code into it:

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<title>Server side validation in PHP | Tutsmake.com</title>
	<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
</head>

<body>
	<div class="container">
		<div class="row">
			<div class="col-lg-8 col-offset-2">
				<div class="page-header">
					<h2>Registration Form in PHP with Validation</h2>
				</div>
				<p>Please fill all fields in the form</p>
				<form action="<?php echo htmlspecialchars($_SERVER[" PHP_SELF "]); ?>" method="post">
					<div class="form-group">
						<label>Name</label>
						<input type="text" name="name" class="form-control" value="" maxlength="50" required=""> <span class="text-danger"><?php if (isset($name_error)) echo $name_error; ?></span>
					</div>
					<div class="form-group ">
						<label>Email</label>
						<input type="email" name="email" class="form-control" value="" maxlength="30" required=""> <span class="text-danger"><?php if (isset($email_error)) echo $email_error; ?></span>
					</div>
					<div class="form-group">
						<label>Mobile</label>
						<input type="text" name="mobile" class="form-control" value="" maxlength="12" required=""> <span class="text-danger"><?php if (isset($mobile_error)) echo $mobile_error; ?></span>
					</div>
					<div class="form-group">
						<label>Password</label>
						<input type="password" name="password" class="form-control" value="" maxlength="8" required=""> <span class="text-danger"><?php if (isset($password_error)) echo $password_error; ?></span>
					</div>
					<div class="form-group">
						<label>Confirm Password</label>
						<input type="password" name="cpassword" class="form-control" value="" maxlength="8" required=""> <span class="text-danger"><?php if (isset($cpassword_error)) echo $cpassword_error; ?></span>
					</div>
					<input type="submit" class="btn btn-primary" name="signup" value="submit">Already have a account?<a href="login.php" class="btn btn-default">Login</a>
				</form>
			</div>
		</div>
	</div>
</body>

</html>

Step 4 – Add Server Side Validation with Form

Then open again your html file and add the following validation rules into it:

<?php
  require_once "db.php";
    if (isset($_POST['signup'])) {
        $name = mysqli_real_escape_string($conn, $_POST['name']);
        $email = mysqli_real_escape_string($conn, $_POST['email']);
        $mobile = mysqli_real_escape_string($conn, $_POST['mobile']);
        $password = mysqli_real_escape_string($conn, $_POST['password']);
        $cpassword = mysqli_real_escape_string($conn, $_POST['cpassword']);
        if (!preg_match("/^[a-zA-Z ]+$/",$name)) {
            $name_error = "Name must contain only alphabets and space";
        }
        if(!filter_var($email,FILTER_VALIDATE_EMAIL)) {
            $email_error = "Please Enter Valid Email ID";
        }
        if(strlen($password) < 6) {
            $password_error = "Password must be minimum of 6 characters";
        }
        if(strlen($mobile) < 10) {
            $mobile_error = "Mobile number must be minimum of 10 characters";
        }
        if($password != $cpassword) {
            $cpassword_error = "Password and Confirm Password doesn't match";
        }
        if (!$error) {
            if(mysqli_query($conn, "INSERT INTO users(name, email, mobile ,password) VALUES('" . $name . "', '" . $email . "', '" . $mobile . "', '" . md5($password) . "')")) {
             header("location: index.php");
             exit();
            } else {
               echo "Error: " . $sql . "" . mysqli_error($conn);
            }
        }
        mysqli_close($conn);
    }
?>

Conclusion

Server side validation in PHP; In this tutorial, you have learned how to create a simple form and add server side validation in php.

Recommended PHP Tutorials

If you have any questions or thoughts to share, use the comment form below to reach us.

AuthorDevendra Dode

Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of Tutsmake.com. My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including PHP, Python, JavaScript, jQuery, Laravel, Livewire, CodeIgniter, Node.js, Express.js, Vue.js, Angular.js, React.js, MySQL, MongoDB, REST APIs, Windows, XAMPP, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL, and Bootstrap. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

Leave a Reply

Your email address will not be published. Required fields are marked *