• Spring
  • Servlet
  • RubyonRails
  • JSP
  • PHP
  • jQuery
  • SQL Tutorial
  • JavaScript
  • Core Java

  • <

    PHP Login Signup Tutorial



    In this tutorial we will learn how to create php login and signup system .

    Requirements for PHP Login Signup System


    1. Xampp
    2. PHP
    3. MySql

    db.sql

    db.sql file Contains mysql code for fields id, username ,password ,date and time .


    PHP Login and Signup System Example


    
    CREATE TABLE IF NOT EXISTS `users` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `username` varchar(50) NOT NULL,
      `email` varchar(50) NOT NULL,
      `password` varchar(50) NOT NULL,
      `trn_date` datetime NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
    
    
    


    db.php

    db.php file contains database connection configuration such as server name=localhost , database username and password .

    <?php
    
    $con = mysqli_connect("localhost","root","","user");
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    ?>
    
    
    

    index.php

    index.php

    file contains html and php codes .

    
    <?php
    
    
    include("auth.php"); //include auth.php file on all secure pages ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Welcome Home</title>
    <link rel="stylesheet" href="css/style.css" />
    </head>
    <body>
    <div class="form">
    <p>Welcome <?php echo $_SESSION['username']; ?>!</p>
    <p>This is secure area.</p>
    <p><a href="dashboard.php">Dashboard</a></p>
    <a href="logout.php">Logout</a>
    
    
    
    </div>
    </body>
    </html>
    
    
    


    login.php

    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Login</title>
    <link rel="stylesheet" href="css/style.css" />
    </head>
    <body>
    <?php
    	require('db.php');
    	session_start();
        // If form submitted, insert values into the database.
        if (isset($_POST['username'])){
    		
    		$username = stripslashes($_REQUEST['username']); // removes backslashes
    		$username = mysqli_real_escape_string($con,$username); //escapes special characters in a string
    		$password = stripslashes($_REQUEST['password']);
    		$password = mysqli_real_escape_string($con,$password);
    		
    	//Checking is user existing in the database or not
            $query = "SELECT * FROM `users` WHERE username='$username' and password='".md5($password)."'";
    		$result = mysqli_query($con,$query) or die(mysql_error());
    		$rows = mysqli_num_rows($result);
            if($rows==1){
    			$_SESSION['username'] = $username;
    			header("Location: index.php"); // Redirect user to index.php
                }else{
    				echo "<div class='form'><h3>Username/password is incorrect.</h3><br/>Click here to <a href='login.php'>Login</a></div>";
    				}
        }else{
    ?>
    <div class="form">
    <h1>Log In</h1>
    <form action="" method="post" name="login">
    <input type="text" name="username" placeholder="Username" required />
    <input type="password" name="password" placeholder="Password" required />
    <input name="submit" type="submit" value="Login" />
    </form>
    <p>Not registered yet? <a href='registration.php'>Register Here</a></p>
    
    </div>
    <?php } ?>
    
    
    </body>
    </html>
    
    


    registration.php

    In this php file user data such as username and password will be inserted in database .

    
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Registration</title>
    <link rel="stylesheet" href="css/style.css" />
    </head>
    <body>
    <?php
    	require('db.php');
        // If form submitted, insert values into the database.
        if (isset($_REQUEST['username'])){
    		$username = stripslashes($_REQUEST['username']); // removes backslashes
    		$username = mysqli_real_escape_string($con,$username); //escapes special characters in a string
    		$email = stripslashes($_REQUEST['email']);
    		$email = mysqli_real_escape_string($con,$email);
    		$password = stripslashes($_REQUEST['password']);
    		$password = mysqli_real_escape_string($con,$password);
    
    		$trn_date = date("Y-m-d H:i:s");
            $query = "INSERT into `users` (username, password, email, trn_date) VALUES ('$username', '".md5($password)."', '$email', '$trn_date')";
            $result = mysqli_query($con,$query);
            if($result){
                echo "<div class='form'><h3>You are registered successfully.</h3><br/>Click here to <a href='login.php'>Login</a></div>";
            }
        }else{
    ?>
    <div class="form">
    <h1>Registration</h1>
    <form name="registration" action="" method="post">
    <input type="text" name="username" placeholder="Username" required />
    <input type="email" name="email" placeholder="Email" required />
    <input type="password" name="password" placeholder="Password" required />
    <input type="submit" name="submit" value="Register" />
    </form>
    </div>
    <?php } ?>
    </body>
    </html>
    
    

    auth.php

    auth.php

    file contains PHP sesiion function and authentication .It checks username and password user provided using form post method .

    
    <?php
    session_start();
    if(!isset($_SESSION["username"])){
    header("Location: login.php");
    exit(); }
    ?>
    


    dashboard.php

    If session is validated or username and password is matched then the user access this page .

    <?php
    
     
    require('db.php');
    include("auth.php"); //include auth.php file on all secure pages ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Dashboard - Secured Page</title>
    <link rel="stylesheet" href="css/style.css" />
    </head>
    <body>
    <div class="form">
    <p>Dashboard</p>
    <p>This is another secured page.</p>
    <p><a href="index.php">Home</a></p>
    <a href="logout.php">Logout</a>
    
    
    </div>
    </body>
    </html>
    
    
    


    logout.php

    logout.php file kills all active sessions and redirect user to login ans sign up page .

    
    <?php
    
    session_start();
    if(session_destroy()) // Destroying All Sessions
    {
    header("Location: login.php"); // Redirecting To Home Page
    }
    ?>
    

    style.css

    
    
    body {font-family:Arial, Sans-Serif;}
    .clearfix:before, .clearfix:after { content: ""; display: table; }
    .clearfix:after { clear: both; }
    a {color:#0067ab; text-decoration:none;}
    a:hover {text-decoration:underline;}
    .form{width: 300px; margin: 0 auto;}
    input[type='text'], input[type='email'], input[type='password'] {width: 200px; border-radius: 2px;border: 1px solid #CCC; padding: 10px; color: #333; font-size: 14px; margin-top: 10px;}
    input[type='submit']{padding: 10px 25px 8px; color: #fff; background-color: #0067ab; text-shadow: rgba(0,0,0,0.24) 0 1px 0; font-size: 16px; box-shadow: rgba(255,255,255,0.24) 0 2px 0 0 inset,#fff 0 1px 0 0; border: 1px solid #0164a5; border-radius: 2px; margin-top: 10px; cursor:pointer;}
    input[type='submit']:hover {background-color: #024978;}
    













    © copyright 2017-2021 Completedone pvt ltd.