Teknik Login, Register dan Logout pada Login Seasion di PHP MySQLi

Teknik Login, Register dan Logout pada Login Seasion di PHP MySQLi - untuk artikel kali ini kita akan membahas tentang salah satu dari teknik PHP, yaitu teknik Login menggunakan Session. Dari pembelajaran kali ini kita akan mempelajari :

  • Apa itu Session???
  • Membuat Login dengan Session
  • Membuat Register
  • Membuat Logout

Apa itu Session???


Sumber : codingslover.com

Session bisa diartikan dengan suatu informasi yang diambil saat kita melakukan pekerjaan terhadap sesuatu. Seperti saat kita bekerja dengan sebuah aplikasi pada komputer, kita mulai dengan membuka aplikasi lalu dilanjutkan dengan melakukan beberapa hal kemudian menyimpan pekerjaan dan diakhiri dengan menutup aplikasi. Sudah ada gambaran apa itu session???. Mari kita perdalam lagi apa itu session???

Dalam hal ini kita bisa mengambil informasi siapa yang menjalankan aplikasi, data apa yang dibuka serta berapa lama waktu yang dibutuhkan dalam pekerjaan. Hal ini terasa simpel jika kita berlakukan pada komputer lokal namun tidak demikian jika diterapkan pada Internet.

Di internet web server tidak tahu siapa pengguna yang mengakses web, serta apa yang dikerjakan oleh pengguna tersebut. Hal ini membuat pemikiran untuk menciptakan variabel dinamis yang bisa diakses oleh setiap halaman yang berisi informasi session dari pengguna internet pada suatu website tertentu.

Data yang disimpan pada session bersifat sementara dan berlaku pada jangka waktu tertentu jika diset. Session akan hilang jika waktu session berakhir, session dimusnahkan dan atau saat server direstart. Jika ingin menyimpan variabel yang sifatnya permanen sebaiknya gunakan penyimpanan dengan database. Nah, sekarang udah paham kan apa itu session. Jika belum paham coba cari artikel yang membahas tentang session, di mbah goooooogle bisa menjawab....

Membuat Login dengan session

Setelah kita paham apa itu session. Sekarang kita lanjut untuk membuat project-nya. pertama tama kita membuat folder yang bernama Login. Didalam folder login berisikan file-file *.php yang berfungsi untuk login, register, dan logout. langkah selanjutnya kita membuat database-nya latihan_php.kemudian membuat tabel dengan nama login dengan struktur seperti dibawah ini di phpmyadmin.

  • id_login int(11) not null auto_increment primary key
  • user_login varchar(30) not null
  • pass_login varchar(50) not null
lebih jelasnya bisa dilihat seperti gambar dibawah ini

Setelah kita selesai pada tahap pembuatan tabel, saatnya kita membuat script code untuk form login. tampilannya seperti gambar dibawah ini

Disini kita akan membuat file login.php, login.css dan register.html untuk script ada dibawah ini
login.php
        <?php
        session_start();
        if(isset($_SESSION['username'])){

         header("location:index.php");
        }
        ?>
        <!DOCTYPE html>
        <html>
        <head>
         <link rel="stylesheet" type="text/css" href="login.css">
         <title>.::Login::.</title>
        </head>
        <body>

        <div id="main">
         <h1><center>PHP Login Session</center></h1>
         <div id="login">
          <h2>Login Form</h2>
          <form action="login_proses.php" method="post">
           <label>UserName :</label>
           <input id="name" name="username" placeholder="username" type="text">

           <label>Password :</label>
           <input id="password" name="password" placeholder="**********" type="password">

           <input name="login" type="submit" value=" Login "><br>
           <a href="register.php">Belum Punya Account? Daftar</a>
          </form>
         </div>
        </div>
        </body>
        </html>
    
login.css
        #main {
         width:400px;
         height:400px;
         margin:0px auto;
         font-family:raleway
        }

        span {
         color:red
        }

        h2 {
         background-color:#FEFFED;
         text-align:center;
         border-radius:10px 10px 0 0;
         margin:-10px -40px;
         padding:15px
        }

        hr {
         border:0;
         border-bottom:1px solid #ccc;
         margin:10px -40px;
         margin-bottom:30px
        }

        #login {
         width:300px;
         float:left;
         border-radius:10px;
         font-family:raleway;
         border:2px solid #ccc;
         padding:10px 40px 25px;
        }

        input[type=text],input[type=password] {
         width:99.5%;
         padding:10px;
         margin-top:8px;
         border:1px solid #ccc;
         padding-left:5px;
         font-size:16px;
         font-family:raleway
        }

        input[type=submit] {
         width:100%;
         background-color:#FFBC00;
         color:#fff;
         border:2px solid #FFCB00;
         padding:10px;
         font-size:20px;
         cursor:pointer;
         border-radius:5px;
         margin-bottom:15px
        }

        #profile {
         padding:50px;
         border:1px dashed grey;
         font-size:20px;
         background-color:#DCE6F7
        }

        #logout {
         float:right;
         padding:5px;
         border:dashed 1px gray
        }

        a {
         text-decoration:none;
         color:#6495ed
        }

        i {
         color:#6495ed
        }
    
register.html
        <!DOCTYPE html>
        <html>
        <head>
         <title>Register</title>
         <link rel="stylesheet" type="text/css" href="login.css">
        </head>
        <body>
         <div id="main">
          <h1><center>Register Account</center></h1>
          <form action="register_proses.php" method="post">
           <table border="0">
            <tr>
             <td>Username</td>
             <td><input type="text" name="username"></td>
            </tr>
            <tr>
             <td>Password</td>
             <td><input type="text" name="passsword"></td>
            </tr>
            <tr>
             <td><input type="submit" name="submit" value="Daftar"></td>
            </tr>
           </table>
          </form>
         </div>
        </body>
        </html>
    
script register.html akan menghahasilkan tampilan seperti dibawah ini

Untuk tahap selanjutnya kita akan membuat logika atau pemrosesan dari register dan login. Pertama kita membuat pemrosesan untuk register. Logika dari register_proses.php adalah Jika form input kosong maka data yang diinputkan tidak akan masuk ke database dan ada keterangan alert bahwa form tidak boleh kosong kemudian redirect ke form pendaftaran. Untuk script-nya ada dibawah ini
register_proses.php

        <?php
        // membuat koneksi
        $con = mysqli_connect("localhost","root","","latihan_php");

        // Deklarasi variable
        $username = $_POST['username'];
        $password = $_POST['password'];
        $submit =$_POST['submit'];

        if(isset($submit)){

         if(empty($username) or empty($password)){

          echo "<script>alert('Form tidak boleh kosong!!! Silakan ulangi lagi'); window.location=('register.html') </script>";
         }else{

          $pass = md5($_POST['password']);
          $ins = mysqli_query($con,"insert into login(user_login,pass_login) values ('$username','$pass')");
          echo "<script>alert('Data berhasil di Tambah'); window.location=('login.php');</script>";
         }
        }
        ?>
    
langkah selanjutnya kita membuat file index.php untuk halaman admin yang hanya bisa diakses oleh member yang sudah terdaftar. kemudian membuat proses untuk login dan logout. langsung aja kita buat scriptnya yang ada dibawah ini.
index.php
        <?php
         session_start();

         if(isset($_SESSION['username'])){

          $username = $_SESSION['username'];
         }else{
          header("location:login.php");
         }
        ?>
        <!DOCTYPE html>
        <html>
        <head>
         <title>.::Login::.</title>
        </head>
        <body>
         <div id="profile">
          <b id="welcome">Welcome : <i><?php echo $username; ?></i></b>
          <b id="logout"><a href="logout.php">Logout</a></b>
         </div>
        </body>
        </html>
    
login_proses.php
        <?php
        session_start();
        // membuat koneksi
        $con = mysqli_connect("localhost","root","","latihan_php");

        // Deklarasi variable
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $login =$_POST['login'];

        if(isset($login)){

         if(empty($username) or empty($password)){

          echo "<script>alert('Form tidak boleh kosong!!! Silakan ulangi lagi'); </script>";
          header('location:login.php');
         }else{

          $query = mysqli_query($con,"select * from login where user_login = '$username' and pass_login = '$password'");
          if(mysqli_num_rows($query) > 0){
           echo "Selamat datang admin";

           $r = mysqli_fetch_array($query);
           $_SESSION['username'] = $r['user_login'];

           header("location:index.php");
          }else{

           header("location:login.php");
          }
         }
        }

        ?>
    
logout.php
        <?php
        session_start();

        unset($_SESSION['username']);
        header("location:login.php");

        ?>
    

Selesai sudah untuk teknik Login menggunakan session. Mungkin temen-temen bisa mengembangkan lagi untuk project login dengan session yang lebih keren lagi, seperti login multi user. ada penambahan satu inputan untuk mengatur level login, seperti admin dan member. Jika login menggunakan level admin, akan mendapatkn menu-menu admin. Sedangkan yang login menggunakan level member, akan mendapatkan menu-menu member saja, tidak seluas menu admin.

username = admin
password = admin

Postingan terkait:

3 Tanggapan untuk "Teknik Login, Register dan Logout pada Login Seasion di PHP MySQLi"

Panduanim mengatakan...

makasih ya tutorialnya, saya coba sekarang nih.

Unknown mengatakan...

Kalo buat rubah oassword dengan session gmana mas. Saya coba make session tapi gk bisa

Anonim mengatakan...

terimakasih gan sangat membantu. semoga dilancarkan rezekinya