Today, We want to share with you html login page in php.In this post we will show you php login system, hear for myql login we will give you demo and example for implement.In this post, we will learn about create login page in php with an example.
how to create login page in php?
There are the Following The simple About php tutorial with administrator login php Full Information With Example and source code.
As I will cover this Post with live Working example to develop how to redirect to another page in php after login, so the login pages in php with database source code is used for this example is following below.
Step 1: Creating the Database Table
CREATE TABLE members ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, membername VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP );
Step 2: Creating the Config File
<?php define('DB_SERVER', 'localhost'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', 'pakainfo'); $link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME); if($link === false){ die("ERROR: Could not connect. " . mysqli_connect_error()); } ?>
Step 3: Creating the Registration Form
<?php require_once "config.php"; $membername = $password = $confirm_password = ""; $membername_err = $password_err = $confirm_password_err = ""; if($_SERVER["REQUEST_METHOD"] == "POST"){ if(empty(trim($_POST["membername"]))){ $membername_err = "Please enter a membername."; } else{ $sql = "SELECT id FROM members WHERE membername = ?"; if($memberQuery = mysqli_prepare($link, $sql)){ mysqli_stmt_bind_param($memberQuery, "s", $param_membername); $param_membername = trim($_POST["membername"]); if(mysqli_stmt_execute($memberQuery)){ mysqli_stmt_store_result($memberQuery); if(mysqli_stmt_num_rows($memberQuery) == 1){ $membername_err = "This membername is already taken."; } else{ $membername = trim($_POST["membername"]); } } else{ echo "Oops! Something went wrong. Please try again later."; } mysqli_stmt_close($memberQuery); } } if(empty(trim($_POST["password"]))){ $password_err = "Please enter a password."; } elseif(strlen(trim($_POST["password"])) < 6){ $password_err = "Password must have atleast 6 characters."; } else{ $password = trim($_POST["password"]); } if(empty(trim($_POST["confirm_password"]))){ $confirm_password_err = "Please confirm password."; } else{ $confirm_password = trim($_POST["confirm_password"]); if(empty($password_err) && ($password != $confirm_password)){ $confirm_password_err = "Password did not match."; } } if(empty($membername_err) && empty($password_err) && empty($confirm_password_err)){ $sql = "INSERT INTO members (membername, password) VALUES (?, ?)"; if($memberQuery = mysqli_prepare($link, $sql)){ mysqli_stmt_bind_param($memberQuery, "ss", $param_membername, $param_password); $param_membername = $membername; $param_password = password_hash($password, PASSWORD_DEFAULT); if(mysqli_stmt_execute($memberQuery)){ header("location: login.php"); } else{ echo "Something went wrong. Please try again later."; } mysqli_stmt_close($memberQuery); } } mysqli_close($link); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Sign Up - html login page</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css"> <style type="text/css"> body{ font: 14px sans-serif; } .wrapper{ width: 350px; padding: 20px; } </style> </head> <body> <div class="wrapper"> <h2>Sign Up</h2> <p>Please fill this form to html login page an account.</p> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group <?php echo (!empty($membername_err)) ? 'has-error' : ''; ?>"> <label>Username</label> <input type="text" name="membername" class="form-control" value="<?php echo $membername; ?>"> <span class="help-block"><?php echo $membername_err; ?></span> </div> <div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>"> <label>Password</label> <input type="password" name="password" class="form-control" value="<?php echo $password; ?>"> <span class="help-block"><?php echo $password_err; ?></span> </div> <div class="form-group <?php echo (!empty($confirm_password_err)) ? 'has-error' : ''; ?>"> <label>Confirm Password</label> <input type="password" name="confirm_password" class="form-control" value="<?php echo $confirm_password; ?>"> <span class="help-block"><?php echo $confirm_password_err; ?></span> </div> <div class="form-group"> <input type="submit" class="btn btn-success" value="Submit"> <input type="reset" class="btn btn-default" value="Reset"> </div> <p>Already have an account? <a href="login.php">Login here</a>.</p> </form> </div> </body> </html>
Step 4: Creating the Login Form
<?php session_start(); if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){ header("location: dashboard.php"); exit; } require_once "config.php"; $membername = $password = ""; $membername_err = $password_err = ""; if($_SERVER["REQUEST_METHOD"] == "POST"){ if(empty(trim($_POST["membername"]))){ $membername_err = "Please enter membername."; } else{ $membername = trim($_POST["membername"]); } if(empty(trim($_POST["password"]))){ $password_err = "Please enter your password."; } else{ $password = trim($_POST["password"]); } if(empty($membername_err) && empty($password_err)){ $sql = "SELECT id, membername, password FROM members WHERE membername = ?"; if($memberQuery = mysqli_prepare($link, $sql)){ mysqli_stmt_bind_param($memberQuery, "s", $param_membername); $param_membername = $membername; if(mysqli_stmt_execute($memberQuery)){ mysqli_stmt_store_result($memberQuery); if(mysqli_stmt_num_rows($memberQuery) == 1){ mysqli_stmt_bind_result($memberQuery, $id, $membername, $hashed_password); if(mysqli_stmt_fetch($memberQuery)){ if(password_verify($password, $hashed_password)){ session_start(); $_SESSION["loggedin"] = true; $_SESSION["id"] = $id; $_SESSION["membername"] = $membername; header("location: dashboard.php"); } else{ $password_err = "The password you entered was not valid."; } } } else{ $membername_err = "No account found with that membername."; } } else{ echo "Oops! Something went wrong. Please try again later."; } mysqli_stmt_close($memberQuery); } } mysqli_close($link); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Login - html login page</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css"> <style type="text/css"> body{ font: 14px sans-serif; } .wrapper{ width: 350px; padding: 20px; } </style> </head> <body> <div class="wrapper"> <h2>Login</h2> <p>Please fill in your credentials to login.</p> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group <?php echo (!empty($membername_err)) ? 'has-error' : ''; ?>"> <label>Username</label> <input type="text" name="membername" class="form-control" value="<?php echo $membername; ?>"> <span class="help-block"><?php echo $membername_err; ?></span> </div> <div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>"> <label>Password</label> <input type="password" name="password" class="form-control"> <span class="help-block"><?php echo $password_err; ?></span> </div> <div class="form-group"> <input type="submit" class="btn btn-success" value="Login"> </div> <p>Don't have an account? <a href="register.php">Sign up now</a>.</p> </form> </div> </body> </html>
Step 5: Creating the Dashboard Page
<?php session_start(); if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){ header("location: login.php"); exit; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Dashboard</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css"> <style type="text/css"> body{ font: 14px sans-serif; text-align: center; } </style> </head> <body> <div class="page-header"> <h1>Hi, <b><?php echo htmlspecialchars($_SESSION["membername"]); ?></b>. Dashboard to our site.</h1> </div> <p> <a href="reset-password.php" class="btn btn-warning">Reset Your Password</a> <a href="logout.php" class="btn btn-danger">Sign Out of Your Account</a> </p> </body> </html>
Step 6: Creating the Logout Script
<?php session_start(); $_SESSION = array(); session_destroy(); header("location: login.php"); exit; ?>
Step 7: Adding the Password Reset Feature
<?php session_start(); if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){ header("location: login.php"); exit; } require_once "config.php"; $new_password = $confirm_password = ""; $new_password_err = $confirm_password_err = ""; if($_SERVER["REQUEST_METHOD"] == "POST"){ if(empty(trim($_POST["new_password"]))){ $new_password_err = "Please enter the new password."; } elseif(strlen(trim($_POST["new_password"])) < 6){ $new_password_err = "Password must have atleast 6 characters."; } else{ $new_password = trim($_POST["new_password"]); } if(empty(trim($_POST["confirm_password"]))){ $confirm_password_err = "Please confirm the password."; } else{ $confirm_password = trim($_POST["confirm_password"]); if(empty($new_password_err) && ($new_password != $confirm_password)){ $confirm_password_err = "Password did not match."; } } if(empty($new_password_err) && empty($confirm_password_err)){ $sql = "UPDATE members SET password = ? WHERE id = ?"; if($memberQuery = mysqli_prepare($link, $sql)){ mysqli_stmt_bind_param($memberQuery, "si", $param_password, $param_id); $param_password = password_hash($new_password, PASSWORD_DEFAULT); $param_id = $_SESSION["id"]; if(mysqli_stmt_execute($memberQuery)){ session_destroy(); header("location: login.php"); exit(); } else{ echo "Oops! Something went wrong. Please try again later."; } mysqli_stmt_close($memberQuery); } } mysqli_close($link); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Reset Password</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css"> <style type="text/css"> body{ font: 14px sans-serif; } .wrapper{ width: 350px; padding: 20px; } </style> </head> <body> <div class="wrapper"> <h2>Reset Password</h2> <p>Please fill out this form to reset your password.</p> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group <?php echo (!empty($new_password_err)) ? 'has-error' : ''; ?>"> <label>New Password</label> <input type="password" name="new_password" class="form-control" value="<?php echo $new_password; ?>"> <span class="help-block"><?php echo $new_password_err; ?></span> </div> <div class="form-group <?php echo (!empty($confirm_password_err)) ? 'has-error' : ''; ?>"> <label>Confirm Password</label> <input type="password" name="confirm_password" class="form-control"> <span class="help-block"><?php echo $confirm_password_err; ?></span> </div> <div class="form-group"> <input type="submit" class="btn btn-success" value="Submit"> <a class="btn btn-link" href="dashboard.php">Cancel</a> </div> </form> </div> </body> </html>
Summary
You can also read about AngularJS, ASP.NET, VueJs, PHP.
I hope you get an idea about login page in php.
I would like to have feedback on my infinityknow.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.