Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session

Sebelum itu kamu harus membuat database terlebih dahulu untuk latihan kita pada kali ini, disini saya menggunakan XAMPP dan MYSQLi Untuk databasenya.

 

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session  - Hello everyone selamat datang kembali diwebsite saya belajarwithib.my.id, pada seri kali ini kita akan masih mempelajari PHP Dasar, Sekarang kita akan belajar Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session.

Ini merupakan pelajaran lanjutan dari Artikel CaraPenggunaan GET Dan POST Pada PHP, dan kita akan menggunakan MD5 Sebagai pengaman akun dan kita juga belajar tentang SESSION secara singkat, mungkin untuk seri SESSION akan saya buat artikelnya terpisah biar teman-teman biar mengerti.

Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session

Sebelum itu kamu harus membuat database terlebih dahulu untuk latihan kita pada kali ini, disini saya menggunakan XAMPP dan MYSQLi Untuk databasenya.

Buat database dengan nama “belajarwithib” atau terserah kamu

Setelah dibuat, buatlah table dengan nama “admin”

Lalu kamu isi seperti foto dibawah :

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session


Ok setelah selesai buat database, kita lanjut mempersiapkan file file yang kita perlukan dan buat lah file seperti foto dibawah

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session


Membuat Layout Form Login Sederhana

Jika sudah buka lah file index.php (bukan yang didalam folder admin), lalu ketikan lah code seperti dibawah :


<!DOCTYPE html>
<html>
<head>
  <title>Belajar Membuat Login | www.belajarwithib.my.id</title>
</head>
<body>
  <h1>www.belajarwithib.my.id</h1>
  <h3>Belajar Membuat Login Dengan PHP Dan MYSQLi</h3>
  <br/>

  <?php

  if(isset($_GET['pesan']))
  {
    if($_GET['pesan'] == "gagal")
    {
      echo "Maaf! Username dan password salah";

    }else if($_GET['pesan'] == "logout"){

      echo "Anda Berhasil logout";

    }else if($_GET['pesan'] == "belumlogin"){

      echo "Silahkan login Terlebih Dahulu!";
    }
  }
  ?>
  <br/>
  <form method="POST" action="action.php">
    <table>

      <tr>
        <td>Username</td>
        <td><input type="text" name="username"></td>
      </tr>

      <tr>
        <td>Password</td>
        <td><input type="password" name="password"></td>
      </tr>
      <tr>
        <td></td>
        <td><input type="submit" name="login" value="Login"></td>
      </tr>

    </table>
  </form>

</body>
</html>

Membuat Koneksi Kedatabase

Setelah Itu kamu buka atau buatlah file koneksi.php dan ketikan code seperti dibawah ini :


<?php

$host = "localhost";
$user = "root";
$pass = "";
$db   = "belajarwithib";

$con = mysqli_connect($host,$user,$pass,$db);

if (!$con) {
    die("Koneksi gagal:".mysqli_connect_error());
}

?>

 Membuat Proses Login Dan Membuat SESSION  

Jika sudah selesai buat atau buka file action.php dan ketikan lah code seperti dibawah ini :


<?php
include 'koneksi.php';

$username = $_POST['username'];
$password = md5($_POST['password']);

$query = mysqli_query($con, "SELECT * FROM admin WHERE username='$username' AND password='$password'");
$cek = mysqli_num_rows($query);

if($cek > 0){

	session_start();
	$_SESSION['username'] = $username;
	$_SESSION['status'] = 'login';
	header("location:admin/index.php");

}else{

	header("location:index.php?pesan=gagal");
}
?>

Sampai sini saya jelasakan dulu biar kamu paham, pada form inputan kita membuat input dengan nama username dan password dan datanya ditangkapan melalui metode POST seperti code dibawah


$username = $_POST['username'];
$password = md5($_POST['password']);

Setelah datanya berhasil ditangkap, langsung kita eksekusi datanya dengan mengecek ketersediannya menggunakan dengan fungsi mysql_num_rows(). fungsi mysql_num_rows() adalah fungsi php yang berguna untuk menghitung jumlah record yang di temukan dari query mysql seperti yang dapat teman-teman sekalian lihat pada contoh di bawah.


$query = mysqli_query($con, "SELECT * FROM admin WHERE username='$username' AND password='$password'");
$cek = mysqli_num_rows($query);

Setelah itu, apabila username dan password yang di input ada pada database maka nilai variabel $cek diatas akan berisi 1 dan jika tidak ada maka nilai pada variabel $cek adalah 0.

Dengan 1 dan 0 inilah yang akan kita jadikan pendeteksi apakah username dan password yang di input pada form login benar atau salah. jika benar berarti nilainya adalah 1 dan jika salah nilai nya adalah 0. Seperti code dibawah ini :


if($cek > 0){

	session_start();
	$_SESSION['username'] = $username;
	$_SESSION['status'] = 'login';
	header("location:admin/index.php");

}else{

	header("location:index.php?pesan=gagal");
}

Berarti ketika dia 1 maka dia akan dialihkan ke folder admin lalu ke file index disini kita juga membuat SESSION nya juga namun jika dia gagal maka dia akan dialihkan ke form login sambil membawa pesan gagal.

Pesan gagal akan ditangkap pada file index.php dan akan memunculkan alert sesuai pesan yang dibawah URL, Penampakan codenya seperti dibawah ini :


  <?php

  if(isset($_GET['pesan']))
  {
    if($_GET['pesan'] == "gagal")
    {
      echo "Maaf! Username dan password salah";

    }else if($_GET['pesan'] == "logout"){

      echo "Anda Berhasil logout";

    }else if($_GET['pesan'] == "belumlogin"){

      echo "Silahkan login Terlebih Dahulu!";
    }
  }
  ?>

 

Membuat Index Pada Folder Admin

Mari kita lanjut oke, Setelah itu kita buat file index.php pada folder admin dan ketikanlah code dibawah ini :


<?php
session_start();
if($_SESSION['status'] == ""){
	header("location:../index.php?pesan=belumlogin");
}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Belajar Membuat Login | www.belajarwithib.my.id</title>
</head>
<body>
	<h1>www.belajarwithib.my.id</h1>
	<h3>Belajar Membuat Login Dengan PHP Dan MYSQLi</h3>
	
	<p>Anda Berhasil Login Sebagai <?php echo $_SESSION['username']; ?></p>
	<a href="logout.php">Logout</a>
</body>
</html>

Disini saya memberikan penjelasan sikit tentang session, lihat pada kode dibawah ini pada saat kita mengakses file indeks otomatis SESSION akan memeriksa status kita, jika statusnya “login” maka kita diperbolehkan mengakses file index.php namun jika status kita tidak diketahui otomatis kita akan dialihkan kembali ke form login sambil membawa pesan “belumlogin”.


<?php
session_start();
if($_SESSION['status'] == ""){
	header("location:../index.php?pesan=belumlogin");
}
?>

Nah pada code dibawah juga kita menampilkan username yang sedang login menggunakan SESSION


<p>Anda Berhasil Login Sebagai <?php echo $_SESSION['username']; ?></p>

Membuat Fitur  Logout Dan Menghapus Semua SESSION

Lanjut bro, Setelah itu kita akan membuat logout dan buka atau buatkan file logout.php lalu ketikan code dibawah :


<?php
session_start();
session_destroy();
header("location:../index.php?pesan=logout");
?>


Penjelasan sedikit mengenai SESSION lagi, pada fitur logout kita menggunakan session_destroy(); sebagai menghapus semua session sebenarnya ada juga cara menghapus session dengan cara mengclose atau menutup browser kita, jika session dihapus maka kita tidak memiliki status lagi dan ketika diarahkan kehalaman login kita juga akan dibawakan pesan “logout” untuk memicu alert bahwasana kita berhasil logout.

Pada session_start(); itu merupakan untuk memulai eksekusi SESSION pada server dan menyimpannya pada web browser. Dengan intruksi seperti ini menunjukkan pada saat SESSION dimulai, semua SESSION akan didaftarkan selanjutnya akan disimpan. Penyimpanan ini terjadi sampai jangka waktu tertentu.

Sekarang mari kita coba loginnya mana tau ga berhasil kan wkwkwk dan foto dibawah ini merupakan layout yang telah kita buat, lalu kalian login dengan username “admin” dan password “admin123”.

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session

Jika Kita salah memasukan password atau usernamenya maka akan muncul alert dan sambil membawa pesan  “gagal”  pada URL dibawah :

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session


Jika kita ingin langsung mengakses file admin dengan mengetik manual maka akan muncul alert dibawah dan sambil membawa pesan “belumlogin” pada URL seperti dibawah :

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session


Jika Kita masukan password yang benar dan username yang benar otomatis kita akan diarahkan ke folder admin lalu ke file index.php seperti dibawah :

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session


Dan kita akan logout dan membawa pesan “logout” pada URL maka akan muncul alert dibawah :

Tutorial PHP Pemula Part 13 : Cara Membuat Login PHP Dengan MD5 Dan Menggunakan Session


Penutupan

Mungkin sekianlah cara membuat login dan penjelasan nya juga semoga ini dapat membantu kamu dalam belajar ya dan jangan lupa praktek setelah dibaca biar mangkin paham wkwkwk.

Semoga Bermanfaat .