Pada dasarnya tutorial ini akan membuat authentication atau autentikasi pada PHP yang meliputi guest dan auth. Jadi guest digunakan saat suatu pengguna tidak login pada aplikasi yang Anda buat saat ini, sedangkan auth pengguna yang sudah login.
Daftar isi:
- Kenapa menggunakan session?
- Menyimpan autentikasi dengan session
- Menerapkan guest dan auth
- Fitur logout
Baca juga:
Kenapa menggunakan session?
Session atau sesi adalah cara untuk menyimpan informasi dalam variabel untuk digunakan di beberapa halaman situs web. Jadi sesi akan disimpan disisi peladen bukan disisi klien. Menggunakan Sesi hanya bersifat sementara setelah Anda menutup aplikasi web browser, sesi akan terhapus dan Anda harus konfigurasi variabel sesi untuk menggunakannya kembali.
Menyimpan autentikasi dengan session
Membuat autentikasi membutuhkan session untuk menyimpan nilai yang diperlukan agar pengguna tetap bisa masuk di aplikasi apabila session masih ada. Jika session tidak ada maka akan diahlikan ke halaman login.
Menambahkan session_start
Setiap kali menggunakan session Anda harus menggunakan session_start(), kanapa harus menggunakannya? Jika Anda tidak menggunakan maka session tidak akan pernah bisa digunakan, meskipun semua konfigurasi menggunakan session sudah benar. Jadi letakan skrip session_start() dibawah ini pada bagian atas berkas theNavbar.php
:
<?php
session_start();
?>
Lihat gambar dibawah ini:
Skrip menyimpan session
Skrip dibawah ini digunakan untuk membuat session dengan nama user_login
dan nilai nama pengguna (username), letakan skrip dibawah ini pada berkas login.php
:
$_SESSION['user_login'] = $user->username;
Lihat gambar dibawah ini jika Anda ingin menerapkan skrip diatas:
Menerapkan guest dan auth
Jadi, bila menerapkan autentikasi pasti Anda ingin halaman tertentu tidak akan bisa diakses oleh pengguna, misalnya jika suatu pengguna sudah masuk maka tidak akan bisa mengakses ke halaman login dan register. Begitu pula sebaliknya jika suatu pengguna belum masuk maka tidak akan bisa masuk ke halaman utama. Silakan simak penjelasan berikut ini:
Skrip guest
Simpan skrip guest pada halaman login dan regiser, salin dan tempelkan pada berkas login.php
dan register.php
. Lihat skrip dibawah ini:
<?php
if (isset($_SESSION['user_login'])) {
header('Location:index.php');
}
?>
Gunakan cara dibawah ini berdasarkan skrip diatas:
Skrip auth
Sedangkan skrip auth digunakan pada halaman utama, kemudian salin dan tempelkan pada berkas index.php
. Lihat skrip dibawah ini:
<?php
if (!isset($_SESSION['user_login'])) {
header('Location:login.php');
}
?>
Lihat gambar dibawah ini untuk penerapan dari skrip diatas:
Berikut penjelasannya:
- isset($_SESSION['user_login']) - Jika session dengan nama user_login dan nilainya masih ada maka bernilai true.
- header('Location:name.php') - digunakan untuk mengahlikan ke halaman login dan utama.
Catatan: Mungkin skrip diatas hanya berbeda pada operator NOT(!), berikut penjelasannya. Jika $_SESSION['user_login'] ada maka pengguna dikatakan sudah login dan begitu pula sebaliknya. Maka penggunakan (!) kebalikan jika pengguna sudah masuk. Misalnya bernilai true dikasih (!) maka akan bernilai false dan begitu sebaliknya.
Fitur logout
Setiap halaman situs yang menyediakan autentikasi pasti memiliki logout atau keluar, biasanya tombol seperti itu akan ada bila suatu pengguna telah masuk ke aplikasi tersebut. Tentu fitur ini sangat penting, bagaimana bisa aplikasi menyediakan halaman login dan tidak ada fitur logout.
Skrip logout
Silakan salin skrip dibawah ini pada berkas logout.php
, saya memberikan session_star() kembali karena tidak ada hubungan dengan berkas theNavbar.php
. Sedangkan session_destroy() untuk menghapus semua session pada aplikasi yang Anda buat saat ini. Setelah tombol session terhapus maka halaman akan diahlikan ke halaman login.
<?php
session_start();
session_destroy();
header('Location:login.php');
Skrip tombol logout
Salin skrip dibawah ini ke berkas theNavbar.php
yang akan digunakan untuk menganti menu navbar. Jadi, bila pengguna belum masuk maka akan menampilkan menu login dan register. Sedangkan pengguna yang sudah masuk hanya menampilkan menu logout.
<?php if (!isset($_SESSION['user_login'])): ?>
<a class="navbar-item is-tab" href="login.php">Login</a>
<a class="navbar-item is-tab" href="register.php">Register</a>
<?php else: ?>
<a class="navbar-item is-tab" href="logout.php">Logout</a>
<?php endif; ?>
Lihat gambar dibawah ini untuk meletakan skrip diatas:
Selamat Anda sudah selesai mengikuti tutorial ini dan semoga Anda berhasil mengikutinya dengan baik dan benar. Silakan komentar jika ada keluhan.