Hak Akses dengan PHP
00.02Untuk dapat mengikuti tutorial kali ini, silahkan Anda download
dulu file sourcefiles yang saya sertakan untuk tutorial ini. Ini karena
ada beberapa file yang saya sertakan sebagai alat bantu dalam tutorial
kali ini.
Download “Hak Akses” hak-akses.zip – Downloaded 13698 times – 109 kB
Rencana Aplikasi
- Jenis user:
Admin
,Registered User
,Guest
(guest adalah user yang tidak terdaftar) - Siapa saja dapat mendaftar / membuat user baru tanpa harus login terlebih dahulu.
- Admin yang dapat mengubah hak akses semua user, merubah data user lain, dan menghapus user lain.
- Registered User dapat melihat daftar semua user tanpa dapat merubah maupun menghapus user lain.
- Registerd User dapat merubah data pribadinya.
- Untuk dapat melihat data user (data pribadi maupun data semua user), user harus login terlebih dahulu.
Materi Dasar
Sebelum dilanjutkan ke tutorial, kita pelajari dulu logika dasar untuk hak akses.Logika untuk hak akses tidaklah rumit, hanya dengan logika if sederhana. Kita asumsikan misalkan ada 3 jenis user seperti dalam tutorial kali ini (admin, member, guest) dalam sebuah aplikasi. Untuk dapat mengakses halaman member, user harus terdaftar dan login terlebih dahulu. Kemudian user yang login ini harus dapat dikenali aplikasi apakah ia berstatus sebagai admin atau bukan. Hal ini dikarenakan fungsionalitas aplikasi tidak sama untuk level user yang berbeda. Misalkan: admin boleh menghapus user lain sedangkan user biasa tidak.
Maka logika dasar dari kasus ini adalah seperti berikut:
Dalam tutorial kali ini, hak akses (role) disimpan didalam session untuk kemudian dapat kita panggil lagi pada halaman lainnya untuk dilakukan pengecekan. Untuk melakukan pengecekan apakah user yang login memiliki role sebagai admin atau tidak, kode program nya akan terlihat seperti berikut.
Jadi, jika ada beberapa menu ataupun fungsionalitas yang hanya boleh digunakan oleh user dengan hak akses tertentu, cukup gunakan logika dasar ini. Jika kebutuhan aplikasi Anda lebih kompleks dari ini, maka tinggal disesuaikan dan dikembangkan sesuai dengan kebutuhan.
Langkah 1 – Struktur Folder
Buatlah folder dengan namahak_akses
pada C:xampphtdocs
. Kemudian buat lagi dua folder dengan nama css
dan images
didalam folder hak_akses.Kemudian copy-kan file
.css
dari file yang sudah didownload kedalam folder css, dan file background.jpg kedalam folder images.File-file .css ini nantinya akan kita gunakan sebagai alat bantu untuk mempercantik tampilan. Untuk menggunakan file-file .css ini cukup dengan menambahkan baris kode seperti berikut.
Langkah 2 – Database
Buat database dengan namatutorial_3
. Kemudian buat tabel dengan nama users
dengan data sebagai berikut.Langkah 3 – File Konfigurasi
Seperti biasa, sebelum membuat aplikasi lebih jauh, kita buat terlebih dulu file konfigurasi untuk koneksi ke server. Ketikkan kode berikut dan simpan dalam folderhak_akses
dengan nama config.php
.Langkah 4 – Register User
Ketikkan kode berikut dan simpan dalam folderhak_akses
dengan nama index.php
.if (isset($_SESSION['username']) || !empty($_SESSION['username']))
. Jika sudah login, maka variabel $logged_in
di set menjadi true
. Variabel ini kita gunakan untuk pengecekan lagi nantinya.Pada baris ke-57 kita lakukan pengecekan terhadap nilai dari variabel
$logged_in
dengan kode if ($logged_in)
. Jika variabel ini bernilai true
(yang berarti user sudah login), maka tampilkan link untuk melihat data user. Sedangkan jika bernilai false
(yang berarti user belum login), maka tampilkan link menuju halaman login.Selanjutnya, buat file baru dan ketikkan kode berikut ini. Setelah selesai simpan dengan nama
insert.php
.localhost/hal_akses/register.php
. Hasilnya akan terlihat seperti gambar dibawah. Cobalah untuk menambahkan beberapa user baru.Saat ini, kita masih belum dapat login ke aplikasi (iyalah, login nya belum dibikin :D). Selanjutnya kita buat halaman untuk login.
Langkah 5 – Login
Ketikkan kode berikut dan simpan dengan namalogin.php
.auth.php
.localhost/hal_akses/login.php
. Hasilnya akan terlihat seperti gambar dibawah.Berikutnya, kita buat sebuah file untuk melakukan pengecekan apakah user sudah login atau belum. Jika user sudah login, maka user tidak perlu login lagi. Buat dokumen baru dan ketikkan kode berikut. Setelah selesai, simpan dengan nama
cek-login.php
.cek-login.php
ini akan kita include pada beberapa file lainnya.Langkah 6 – Daftar User
Buat dokumen baru dan ketikkan kode berikut. Setelah selesai simpan dengan namausers.php
.if ($_SESSION['role'] == 'admin')
.
Pada baris ini kita lakukan pengecekan hak akses apakah user yang login
memiliki hak akses sebagai admin atau tidak. Jika user memiliki hak
akses sebagai admin, maka tampilkan menu edit dan delete. Jika tidak memiliki hak akses sebagai admin, maka menu edit dan delete tidak boleh ditampilkan.Cobalah lihat hasilnya pada browser dengan membuka halaman
localhost/hak_akses/users.php
. Hasilnya akan terlihat seperti gambar berikut.Selanjutnya kita buat halaman edit data. Buat dokumen baru dan ketikkan kode berikut, kemudian simpan dengan nama
edit.php
.if ($_SESSION['role'] == 'admin')
. Jika user memiliki role sebagai admin, maka user boleh merubah role user lain.Agar hasil edit-an dapat disimpan, buat dokumen baru dan ketikkan kode berikut. Kemudian simpan dengan nama
update.php
.localhost/hak_akses/users.php
, kemudian edit-lah salah satu data yang ada.Untuk dapat menghapus data, buat dokumen baru dan ketikkan kode berikut. Simpan dengan nama
delete.php
.Kesimpulan
Hak Akses atau role tidaklah sulit untuk dibuat. Cukup dengan menggunakan logikaif
sederhana kita dapat membuat hak akses.source : http://blog.nurwahyudin.com/tutorial/php/hak-akses-dengan-php/
0 komentar