In this tutorial; you will learn how to create a login and registration form in PHP and MySQL with xampp.
You can alsodownloadthe complete source code of login and registration form in PHP + MYsql + Bootstrap using xampp from github.
How to Create Login and Registration Form in PHP and MySQL using XAMPP?
Here are steps to create simple registration and login form in PHP MySQL with validation:
- Step 1 – Open the XAMPP Control Panel & Create PHP Project
- Step 2 – Create Database and Table
- Step 3 – Create a Database Connection File
- Step 4 – Create a registration form and Insert data into MySQL database
- Step 5 – Create Login Form in PHP with MySQL
- Step 6 – Create User Profile and Fetch Data From MySQL Database
- Step 7 – Create Logout.php file
Step 1 – Open the XAMPP Control Panel & Create PHP Project
Visit your xampp installed directory. Then open xampp control panel and start it; then visit xampp/htdocs directory. And inside this directory create php project directory.
Step 2 – Create Database and Table
Create a database name my_db and execute the below-given query in your database. The below query will create a table named users in your database with the following fields like uid, name, email, mobile:
CREATE DATABASE my_db;CREATE TABLE `users` ( `uid` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `mobile` varchar(255) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Recommended:-File Upload in PHP MySQL database
Step 3 – Create a Database Connection File
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 you insert form data into MySQL database, there you 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()); }?>
Recommended:-jQuery Ajax Form Submit with FormData Example
Step 4 – Create registration form and Insert data into MySQL database
Create registration form file; which name registration.php. And add the following code into it:
<?php require_once "db.php"; if(isset($_SESSION['user_id'])!="") { header("Location: dashboard.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(mysqli_query($conn, "INSERT INTO users(name, email, mobile_number ,password) VALUES('" . $name . "', '" . $email . "', '" . $mobile . "', '" . md5($password) . "')")) { header("location: login.php"); exit(); } else { echo "Error: " : "" . mysqli_error($conn); } mysqli_close($conn); }?><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Simple Registration Form in PHP with Validation | 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>
Recommended:-User Registration with Email Verification in PHP
Step 5 – Create Login Form In PHP with MySQL
Create login form, where you accept user email id and password and authenticate users from database. So you can create a login.php file and add the below code into your file:
<?phpsession_start();require_once "db.php";if(isset($_SESSION['user_id'])!="") { header("Location: dashboard.php");}if (isset($_POST['login'])) { $email = mysqli_real_escape_string($conn, $_POST['email']); $password = mysqli_real_escape_string($conn, $_POST['password']); 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"; } $result = mysqli_query($conn, "SELECT * FROM users WHERE email = '" . $email. "' and pass = '" . md5($password). "'"); if(!empty($result)){ if ($row = mysqli_fetch_array($result)) { $_SESSION['user_id'] = $row['uid']; $_SESSION['user_name'] = $row['name']; $_SESSION['user_email'] = $row['email']; $_SESSION['user_mobile'] = $row['mobile']; header("Location: dashboard.php"); } }else { $error_message = "Incorrect Email or Password!!!"; }}?><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Simple Login Form in PHP with Validation | Tutsmake.com</title> <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"></head><body> <div class="container"> <div class="row"> <div class="col-lg-10"> <div class="page-header"> <h2>Login 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>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>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> <input type="submit" class="btn btn-primary" name="login" value="submit"> <br> You don't have account?<a href="registration.php" class="mt-3">Click Here</a> </form> </div> </div> </div></body></html>
Recommended:-Select Insert Update Delete Record using PHP and MySQL
Step 6 – Create User Profile and Fetch data From Database
Create a new file name dashboard.php and add the below code into your file.
The below code used to show logged in user data.
<?php session_start(); if(isset($_SESSION['user_login_id']) =="") { header("Location: login.php"); }?><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>User Info Dashboard | 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"> <div class="card"> <div class="card-body"> <h5 class="card-title">Name :- <?php echo $_SESSION['user_name']?></h5> <p class="card-text">Email :- <?php echo $_SESSION['user_email']?></p> <p class="card-text">Mobile :- <?php echo $_SESSION['user_mobile']?></p> <a href="logout.php" class="btn btn-primary">Logout</a> </div> </div> </div> </div> </div></body></html>
Recommended:-Get Country, City, latitude, longitude from IP address using PHP
Step 7 – Create Logout.php file
Create logout.php file and update the below code into your file.
The below code is used to destroy login your data and logout.
<?phpob_start();session_start();if(isset($_SESSION['user_login_id'])) {session_destroy();unset($_SESSION['user_id']);unset($_SESSION['user_name']);unset($_SESSION['user_email']);unset($_SESSION['user_mobile']);header("Location: login.php");} else {header("Location: login.php");}?>
Conclusion
Simple login and registration form in php with mysql database using xampp; In this tutorial, you have learned how to create a simple login, registration and logout system in PHP MySQL with validation. Also, you have learned how to authenticate and logout logged in users in PHP.
Demo
Recommended PHP MySQL Tutorials
Recommended:-How to Add Captcha in PHP Registration Form
Recommended:-PHP Contact Form with jQuery Validation Example
Recommended:-PHP Cookie Set, Get And Delete Example
Recommended:-Insert Update Delete in PHP on Same Page
Recommended:-How to Fetch Data From Database in PHP using Ajax
Recommended:-Send Reset Password Link Email PHP
Recommended:-Crop and Save Image Using jQuery Croppie and PHP
Recommended:-PHP Display All Errors Example
Recommended:-PHP Google Places Autocomplete Example
Recommended:-PHP Move and Copy File From One Folder to Another
Recommended:-PHP Dropzone File Upload Tutorial Example
Recommended:-PHP Signature Pad using Jquery Ajax Example
Recommended:-PHP 8 MySQL Ajax Live Search Autocomplete Example
Recommended:-PHP Google Firebase CRUD Example Tutorial
Recommended:-PHP Find Nearest Location using Latitude and Longitude Example
Recommended:-
If you have any questions or thoughts to share, use the comment form below to reach us.