Session login pada PHP sangat berguna pada aplikasi web yang membutuhkan login dahulu untuk bisa menggunakan aplikasi tersebut. Dengan session login kita bisa mencegah seseorang untuk direct langsung terhadap suatu halaman proses yang ada pada aplikasi web. Kebetulan juga sekarang saya sedang membuat tugas project UAS mata kuliah Pemrograman Web. Nah pada postingan kali ini saya mau membagikan sedikit tutorial membuat session login pada PHP.
Berikut langkah-langkahnya
Baca Juga : Mengatasi Fitur Zimbra NE Hilang Setelah Upgrade Versi
1. Buat sebuah file bernama login.php, di file ini kita buat sebuah form login
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Login</title> </head> <body> <center> <h1>Silakan Login</h1> <form action="action-login.php" method="post"> <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="reset" value="Cancel"><input type="submit" value="Login"></td> </tr> </table> </form> </center> </body> </html>
Yang perlu diperhatikan yaitu dibagian action pada tag form, karena nanti proses pembuatan session berada di file action tersebut.
Hasil tampilan sederhananya seperti berikut
2. Selanjutnya buat file action-login.php sesuai dengan yang didefinisikan pada form diatas
<?php // variable pendefinisian kredensial $usernamelogin = 'rizky'; $passwordlogin = 'passwordlogin'; // memulai session session_start(); // mengambil isian dari form login $username = $_POST['username']; $password = $_POST['password']; // pengecekan kredensial login if ($username == $usernamelogin && $password == $passwordlogin) { session_start(); $_SESSION['username'] = $username; header("Location: app.php"); } else { header("Location: login.php"); } ?>
- Dari script diatas, pertama saya define dahulu variable $usernamelogin dan $passwordlogin dengan suatu value
- Kemudian jalankan session dengan syntax session_start();
- Ambil value dari isian form login.php dengan syntax
$username = $_POST[‘username’];
$password = $_POST[‘password’]; - Lakukan pengecekan kondisi menggunaan if dengan operator and, kalau isian username dan password benar dan sesuai dengan yang didefinisikan, maka akan menjalankan session, kemudian memasukan username login kedalam session, terlihat pada syntax berikut
$_SESSION[‘username’] = $username; - Kemudian set redirect halaman ke app.php untuk menandakan bahwa kita berhasil login
header(“Location: app.php”); - Kalau pengecekan usernama dan password tidak sesuai, akan dikembalikan ke halaman login.php
header(“Location: login.php”);
3. Selanjutnya buat halaman app.php, isi dengan script berikut
<?php session_start(); if (!isset($_SESSION['username'])){ header("Location: login.php"); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <center> <h1>Selamat, anda berhasil login</h1> <a href="action-logout.php">Logout</a> </center> </body> </html>[/php]
Hasil tampilannya seperti berikut
Dari script diatas, berikut keterangannya
- Pertama, jalankan sessionnya dahulu dengan session_start()
- Kemudian cek kondisi sessionnya, jika session username belum di set, redirect langsung ke halaman login.php, nah di script inilah yang mencegah seseorang untuk direct langsung ke halaman app.php ini
session_start();
if (!isset($_SESSION[‘username])) {
header(“Location: login.php”);
} - Pada halaman tersebut, jangan lupa membuat tombol logout, untuk mengakhiri session
<a href=”action-logout.php”>Logout</a>
4. Yang terakhir, buat file action-logout.php, isi nya sebagai berikut
<?php session_start(); $_SESSION['username'] = ''; unset($_SESSION['username']); session_unset(); session_destroy(); header("Location: login.php"); ?>
Keterangan dari script diatas yaitu
- Jalankan session dahulu dengan session_start();
- Set variable $_SESSION[‘username’] dengan value kosong
$_SESSION[‘username’] = ”; - Selanjutnya unset variable $_SESSION[‘username’]
unset($_SESSION[‘username’]); - Unset session dan destroy session untuk mematikan session yang sedang berjalan
session_unset();
session_destroy(); - Redirect halaman menuju login.php kembali
Semestinya saat ini session login pada PHP sudah berjalan sebagaimana mestinya, untuk cek, coba langsung akses file app.php dengan browser lain, mestinya nanti akan langsung di redirect ke halaman login.php, karena belum ada session username yang terbentuk berdasarkan syntax PHP yang dibuat
Cukup mudah bukan?
Mungkin cukup sekian, semoga bermanfaat.
Rizky Pratama. Tinggal di Bekasi, Jawa Barat. Seorang IT di salah satu perusahaan IT. Pengguna Mac, Linux dan Windows
Selain sebagai penulis di blog ini, saya juga penulis di blog saya yang lain, yaitu https://pratama.biz.id
mantap gan, gak hoaks
Iya,berhasil cuman gampang di bobol,karena Username dan Password-Nya berada di kodingan…
iya gan, kan ini cuma sharing contoh kodingannya seperti apa, kalau sudah level advanced seperti agan, username password ya disimpan di database
Sip. Singkat padat, cocok buat ane yang sekedar refresh materi. Kadang masih gak ngeh buat apa dan gimana cara pakai session_start(); sama session_unset(); session_destroy();.