Belajar Web Programming PHP, HTML, MySQL dan Tutorial

Login Sederhana Menggunakan PHP Session

Login Sederhana Menggunakan PHP Session

Suatu sistem berbasis web tentu memiliki level akses yang berbeda-beda, dimana biasanya pembatasan level akses itu menggunakan fitur validasi user seperti login. Untuk login sendiri pada dasarnya adalah bagaimana sistem mengenal apakah user tersebut terdaftar ke dalam sistem atau tidak, dan apabila terdaftar maka sistem perlu sebuah variabel untuk menampung data user tersebut selama sesi tertentu agar sistem tetap mengenali bahwa user tersebut telah melakukan login dan dapat mengakses fitur-fitur yang tidak dibuka untuk user yang belum login, biasanya hal ini disebut dengan halaman backend.


pada tutorial kali ini kita membuat sistem login sederhana menggunakan session php yang hanya terdiri dari beberapa file php. file-file tersebut adalah sebagai berikut:
- index.php
- koneksi.php
- login.php
- login-proses.php
- logout.php

dan sebuah basis data dengan nama bebas dengan 1 buah tabel user dengan spesifikasi sebagai berikut:

nama db : db_web
tabel : user
- iduser int(11) pk ai
- username varchar(20)
- password varchar(32)
- nama varchar(20)

baik mari kita kerjakan kode programnya. untuk yang pertama kita buat terlebih dahulu file koneksi.php

koneksi.php
<?php 
$host = "localhost";
$user = "root";
$pass = "";
$db   = "db_web";

$koneksi = mysqli_connect($host,$user,$pass,$db);
?>

pada file koneksi silahkan sesuaikan dengan konfigurasi database kalian agar dapat berjalan dengan baik. kemudian kita membuat file login.php dimana ini adalah halaman awal jika user belum melakukan login.

login.php
<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h1 align="center">Aplikasi Login Sederhana : PHP Session</h1>
<hr>
<form action="login-proses.php" method="post">
<table width="300" border="0" align="center">
<tr>
 <td width="150">Username</td>
 <td>
  <input type="text" name="username" required>
 </td>
</tr>
<tr>
 <td width="150">Password</td>
 <td>
  <input type="password" name="password" required>
 </td>
</tr>
<tr>
 <td width="150"></td>
 <td>
  <input type="submit" value="login" required>
 </td>
</tr>
</table>
</form>
</body>
</html>

Pada halaman login ini user diminta untuk mengisi username dan password yang telah terdaftar pada database user. kemudian kita membuat file login-proses.php dimana apabila user menekan tombol login maka username dan password yang telah diinputkan tersebut akan diteruskan ke halaman login-proses.php.

login-proses.php
<?php 
session_start();
include "koneksi.php";

$username = $_POST['username'];
$password = $_POST['password'];

//cek data
$sql = "SELECT * FROM user WHERE username='$username' ";
$qry = mysqli_query($koneksi,$sql);
$usr = mysqli_fetch_array($qry);

if( 
 md5($username) == md5($usr['username'])
 AND
 md5($password) == md5($usr['password'])
  )
{
 $_SESSION['iduser']   = $usr['iduser'];
 $_SESSION['username'] = $usr['username'];
 $_SESSION['nama']     = $usr['nama'];
 $_SESSION['login']    = 1;
 $pesan = "Login berhasil, selamat datan $username";
} else {
 $pesan = "Login gagal, username atau password anda salah!";
}

?>
<script>
 alert('<?php echo $pesan;?>');
 location='index.php';
</script>

inti dari login sederhana ini ada di file login-proses.php dimana urutan langkah-langkahnya adalah
- sistem akan mengecek ke database apakah username tersebut ada atau tidak
- kemudian sistem akan membandingkan data username dan password yang diketik user tersebut sama atau tidak dengan yang diperoleh dari database. dalam pengecekan ini kita menggunakan md5 untuk mengenkripsi apa yang diketik user sehingga dapat meminimalkan terjadinya script injection.
- apabila hasil pengecekan bernilai TRUE maka sistem akan menciptakan session dari data-data yang ada dan apabila bernilai false sistem akan memberikan pesan kesalahan.

selanjutnya kita membuat halaman output yaitu index.php

index.php
<?php
session_start();
$login = $_SESSION['login'];
if($login == 1)
{
include "koneksi.php";
?>
<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h1 align="center">Aplikasi Login Sederhana : PHP Session</h1>
<hr>
<a href="index.php">Beranda</a> | 
<a href="logout.php">Logout</a> | 
<hr>
<?php 
$nama     = $_SESSION['nama'];
$username = $_SESSION['username'];

echo "Selamat Datang $nama ($username) ";
?>
<hr>
</body>
</html>
<?php
}
else {
 include "login.php";
} 
?>

halaman index.php pertama kali akan melakukan pengecekan apakah session login telah tercipta atau belum. kita memberikan value 1 untuk menandakan apakah session login telah tercipta atau belum, jika sudah maka sistem akan menampilkan menu utama seperti beranda dan logout dan juga memberikan pesan selamat datang dengan menyertakan nama dan username user yang telah login tersebut.

tahapan terakhir adalah membuat logout.php untuk keluar dari sistem.

logout.php
<?php 
session_start();
session_destroy();
?>
<script>
 alert('Logout berhasil');
 location='index.php';
</script>

Dengan adanya halaman logout ini user dapat keluar dari sistem dan session yang telah tercipta sebelumnya akan dihapus sehingga apabila user ingin masuk ke halaman backend user tersebut diharuskan untuk login kembali.

berikut adalah screenshot hasil program.
halaman login

Output index.php


Demikianlah tutorial singkat untuk membuat login sederhana menggunakan PHP session yang dapat kalian kembangkan dengan lebih baik lagi. Apabila ada pertanyaan dapat mengajukannya di kolom komentar di artikel ini.

Selamat mencoba ya.
Labels: Aplikasi Web, login, PHP, session

Terima kasih telah membaca Login Sederhana Menggunakan PHP Session. Bila bermanfaat boleh di share yah :)

0 Comment for "Login Sederhana Menggunakan PHP Session"

Back To Top