Membuat Form Login dengan PHP dan database MySQL

Berikut ini saya sampaikan tutorial tentang bagaimana cara membuat form login di web menggunakan PHP dan juga databasenya yaitu MySQL. Sebelumnya saya asumsikan bahwa kamu telah mempunyai table admin di scema database dengan kolom username dan password serta diasumsikan bahwa kamu mempunyai akses ke root user.

Pertama-tama kamu perlu untuk mengoneksikan database MySQL, berikut merupakan script konfigurasinya simpan dalam file config.php

<?php
   define('DB_SERVER', 'localhost');
   define('DB_USERNAME', 'root');
   define('DB_PASSWORD', '');
   define('DB_DATABASE', 'database');
   $db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>

selanjutnya berikut merupakan script untuk halaman loginnya beserta script php untuk bisa login dengan menggunakan data yang telah ada di database MySQL, simpan sebagai login.php

<?php
   include("config.php");
   session_start();
   
   if($_SERVER["REQUEST_METHOD"] == "POST") {
      // username dan password didapat dari form
      
      $myusername = mysqli_real_escape_string($db,$_POST['username']);
      $mypassword = mysqli_real_escape_string($db,$_POST['password']); 
      $sql = "SELECT username FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";
      $result = mysqli_query($db,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
      
      $count = mysqli_num_rows($result);
      
      // Jika hasil sesuai $myusername dan $mypassword, table row harus 1	
      if($count == 1) {
         $_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>

 

Setelah kamu bisa login maka halaman welcome.php ini akan ditampilkan

<?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>

 

Berikut merupakan script untuk bisa logout dari session login, impan sebagai logout.php

<?php
   session_start();
   if(session_destroy()) {
      header("Location: login.php");
   }
?>

 

Dan, berikut session.php akan memverifikasi session, jika tidak ada sesion maka  akan redirect ke halaman login

<?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");
   }
?>


Berikut merupakan screenshot hasil dari script login.php
loginsedangakan hasilnya apabila berhasil login akan menampilkan halaman welcome.php
welcome
apabila ingin logout maka akan redirect ke page login.php

Selamat mencoba 🙂



You may also like...

Leave a Reply

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