PHP MySQL Login

This tutorial demonstrates how to create a login page with MySQL Data base. Before enter into the code part, You would need special privileges to create or to delete a MySQL database. So assuming you have access to root user, you can create any database using mysql mysqladmin binary.

Config.php

Config.php file is having information about MySQL Data base configuration.

<?php

   define('DB_SERVER', 'localhost:3036');

   define('DB_USERNAME', 'root');

   define('DB_PASSWORD', 'rootpassword');

   define('DB_DATABASE', 'database');

   $db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);

?>

Login.php

Login PHP is having information about php script and HTML script to do login.

<?php

   include("config.php");

   session_start();

  

   if($_SERVER["REQUEST_METHOD"] == "POST") {

      // username and password sent from form

     

      $myusername = mysqli_real_escape_string($db,$_POST['username']);

      $mypassword = mysqli_real_escape_string($db,$_POST['password']);

     

      $sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";

      $result = mysqli_query($db,$sql);

      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);

      $active = $row['active'];

     

      $count = mysqli_num_rows($result);

     

      // If result matched $myusername and $mypassword, table row must be 1 row

                       

      if($count == 1) {

         session_register("myusername");

         $_SESSION['login_user'] = $myusername;

        

         header("location: welcome.php");

      }else {

         $error = "Your Login Name or Password is invalid";

      }

   }

?>

<html>

  

   <head>

      <title>Login Page</title>

     

      <style type = "text/css">

         body {

            font-family:Arial, Helvetica, sans-serif;

            font-size:14px;

         }

        

         label {

            font-weight:bold;

            width:100px;

            font-size:14px;

         }

        

         .box {

            border:#666666 solid 1px;

         }

      </style>

     

   </head>

  

   <body bgcolor = "#FFFFFF">

           

      <div align = "center">

         <div style = "width:300px; border: solid 1px #333333; " align = "left">

            <div style = "background-color:#333333; color:#FFFFFF; padding:3px;"><b>Login</b></div>

                                                

            <div style = "margin:30px">

              

               <form action = "" method = "post">

                  <label>UserName  :</label><input type = "text" name = "username" class = "box"/><br /><br />

                  <label>Password  :</label><input type = "password" name = "password" class = "box" /><br/><br />

                  <input type = "submit" value = " Submit "/><br />

               </form>

              

               <div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error; ?></div>

                                                            

            </div>

                                                

         </div>

                                    

      </div>

 

   </body>

</html>

welcome.php

After successful login, it will display welcome page.

<?php

   include('session.php');

?>

<html">

  

   <head>

      <title>Welcome </title>

   </head>

  

   <body>

      <h1>Welcome <?php echo $login_session; ?></h1>

      <h2><a href = "logout.php">Sign Out</a></h2>

   </body>

  

</html>

Logout page

Logout page is having information about how to logout from login session.

<?php

   session_start();

  

   if(session_destroy()) {

      header("Location: login.php");

   }

?>

session.php

Session.php will verify the session, if there is no session it will redirect to login page.

<?php

   include('config.php');

   session_start();

  

   $user_check = $_SESSION['login_user'];

  

   $ses_sql = mysqli_query($db,"select username from admin where username = '$user_check' ");

  

   $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);

  

   $login_session = $row['username'];

  

   if(!isset($_SESSION['login_user'])){

      header("location:login.php");

   }

?>