Membuat Login Multi User Level Dengan PHP dan MySQLi
Membuat Login Multi User Level Dengan PHP dan MySQLi – Hai teman-teman semua yang masih setia nongkrong di www.malasngoding.com, dan mengikuti tutorial-tutorial pemrograman web di www.malasngoding.com.
Sesuai dengan judul tutorial kali ini, yaitu “Membuat Login Multi User Level Dengan PHP dan MySQLi”. Jadi kita akan belajar cara membuat login multi level dengan PHP dan MySQLi.
yuk langsung di simak dan semoga dapat bermanfaat.
Membuat Login Multi User Level Dengan PHP dan MySQLi
Apa yang di maksud dengan “Login Multi User Level” ? mungkin pertanyaan ini lah yang muncul di fikiran teman-teman. tapi mungkin ada juga teman-teman yang sengaja mencari tutorial ini. karena ingin membuat login multi user level.
Sebelumnya di jelaskan dulu apa itu login multi level. Login multi user level adalah proses login yang memiliki validasi level dari seorang user saat login. kenapa harus membuat validasi level user ? karena pasti setiap user atau pengguna sistem memiliki hak akses yang berbeda-beda.
tergantung keperluannya di dalam penggunaan sistem informasi atau aplikasi. Membuat Login Multi User Level Dengan PHP dan MySQLi
Misalnya kita ingin membuat aplikasi yang memiliki user yang ber hak akses berbeda. misalnya hak akses user dan admin, pasien dan perawat, atau misalnya hak akses mahasiswa, dosen, pegawai dan super admin.
dan lain-lainnya (tergantung dari keperluan aplikasi/sistem informasi yang ingin teman-teman buat).
Intinya adalah login multi user level adalah beberapa user dengan hak akses yang berbeda bisa melakukan login pada 1 form login. dan jika berhasil melakukan login, maka user yang login tersebut akan di arahkan ke halaman dashboard nya masing-masing.
Misal nya user yang login adalah user yang memiliki hak akses sebagai admin, maka saat user tersebut berhasil melakukan login, maka akan di alihkan ke dashboard admin. atau jika user yang login adalah user yang memiliki hak akses pegawai, maka akan di alihkan ke halaman dashboard pegawai.
Rekomendasi
Tutorial membuat login dengan PHP dan MySQL sudah kita bahas pada tutorial sebelumnya di www.malasngoding.com. saya rekomendasikan kepada teman-teman untuk membaca tutorial sebelumnya tentang cara membuat login dengan PHP dan MySQL di www.malasngoding.com terlebih dahulu. agar lebih mudah mengikuti tutorial ini.
Apa saja yang di perlukan untuk membuat login multi level seperti tutorial ini ? tentunya kita harus sudah mempunyai sebuah database, dan table yang menyimpan data username dan password si user atau pengguna sistem/aplikasi.
Membuat Database Multi User Level
Untuk contoh login multi user yang akan kita buat ini adalah login multi user pada sistem informasi kepegawaian.
jadi level user yang akan kita sediakan misalnya admin, pegawai, pengurus.
Sekarang kita akan membuat database baru dengan nama “user_level“. kemudian buat table “user” dengan column sebagai berikut.
Membuat Login Multi User Level Dengan PHP dan MySQLi
Nama
Tipe
Auto_Increment
id
int
Ya
nama
varchar(255)
username
varchar(255)
password
varchar(255)
level
varchar(20)
Kemudian kita isi kan beberapa data user dengan hak akses level yang berbeda pada tiap-tiap user. di sini saya mencoba meginuput 3 user, 1 orang user yang berlevel admin, 1 orang user berlevel pegawai, dan 1 orang lagi berlevel pengurus.
input data pegawai
Hasil data nya.
login multi user php
di sini kita telah memiliki 3 data user. yaitu malasngoding sebagai admin, diki sebagai pegawai, dan jamaludin sebagai pengurus. dan kita juga telah mengisi password untuk masing-masing akun user. seperti yang sudah terlihat pada gambar di atas.
Masalah database selesai. selanjutnya kita masuk ke coding nya.
Membuat Login Multi User Level Dengan PHP dan MySQLi
Project program login multi user ini akan saya buat dalam folder “multi_user” dalam htdocs.
File yang akan kita buat adalah :
index.php
style.css
cek_login.php
halaman_admin.php
halaman_pegawai.php
halaman_pengurus.php
koneksi.php
logout.php
Buat sebuah file PHP dengan nama index.php, dan buat sebuah file CSS dengan nama style.css. pada file index.php ini akan kita buat halaman loginnya, dan style.css yang akan mengatur desain form loginnya.
untuk halaman loginnya selesai. disini tidak saya jelaskan lagi lebih detail nya tentang desain form login ini. silahkan teman-teman baca tutorial sebelumnya tentang membuat desain form login di www.malasngoding.com.
halaman login
Membuat Action Login Multi User Dengan PHP & Koneksi Database
Perhatikan pada syntax form login di file index.php. kita telah menetapkan file yang akan mengeksekusi atau memproses form login ini adalah file cek_login.php
1
<form action="cek_login.php"method="post">
jadi sekarang kita buat lagi sebuah file PHP dengan nama cek_login.php. namun karena sistem ini akan berurusan dengan database. maka perlu kita hubungkan dengan database. buat sebuah file baru dengan nama koneksi.php.
echo"Koneksi database gagal : ".mysqli_connect_error();
}
?>
Penjelasan tentang cara membuat koneksi database dengan PHP dan MySQLi sudah di jelaskan pada penjelasan sebelumnya. silahkan teman-teman baca pada tutorial Membuat Koneksi Database Dengan PHP dan MySQLi.
cek_login.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
// mengaktifkan session pada php
session_start();
// menghubungkan php dengan koneksi database
include'koneksi.php';
// menangkap data yang dikirim dari form login
$username=$_POST['username'];
$password=$_POST['password'];
// menyeleksi data user dengan username dan password yang sesuai
$login=mysqli_query($koneksi,"select * from user where username='$username' and password='$password'");
// menghitung jumlah data yang ditemukan
$cek=mysqli_num_rows($login);
// cek apakah username dan password di temukan pada database
if($cek>0){
$data=mysqli_fetch_assoc($login);
// cek jika user login sebagai admin
if($data['level']=="admin"){
// buat session login dan username
$_SESSION['username']=$username;
$_SESSION['level']="admin";
// alihkan ke halaman dashboard admin
header("location:halaman_admin.php");
// cek jika user login sebagai pegawai
}else if($data['level']=="pegawai"){
// buat session login dan username
$_SESSION['username']=$username;
$_SESSION['level']="pegawai";
// alihkan ke halaman dashboard pegawai
header("location:halaman_pegawai.php");
// cek jika user login sebagai pengurus
}else if($data['level']=="pengurus"){
// buat session login dan username
$_SESSION['username']=$username;
$_SESSION['level']="pengurus";
// alihkan ke halaman dashboard pengurus
header("location:halaman_pengurus.php");
}else{
// alihkan ke halaman login kembali
header("location:index.php?pesan=gagal");
}
}else{
header("location:index.php?pesan=gagal");
}
?>
Sebenarnya caranya sama saja dengan membuat login biasa. hanya saja di sini kita sedikit bermain dengan logika. detail penjelasan membuat login dengan PHP dan MySQLi sudah saya jelaskan juga pada tutorial Membuat Login Dengan PHP dan MySQLi. silahkan teman-teman baca lagi. jika ingin menerapkan keamanan MD5 Pada login PHP juga sudah saya buatkan tutorialnya. bisa teman-teman baca pada Membuat Login Dengan PHP dan MySQLi Menggunakan MD5.
inti dari login multi user ada pada file cek_login.php ini. perhatikan pada bagian berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$data=mysqli_fetch_assoc($login);
// cek jika user login sebagai admin
if($data['level']=="admin"){
// buat session login dan username
$_SESSION['username']=$username;
$_SESSION['level']="admin";
// alihkan ke halaman dashboard admin
header("location:halaman_admin.php");
// cek jika user login sebagai pegawai
}else if($data['level']=="pegawai"){
// buat session login dan username
$_SESSION['username']=$username;
$_SESSION['level']="pegawai";
// alihkan ke halaman dashboard pegawai
header("location:halaman_pegawai.php");
// cek jika user login sebagai pengurus
}else if($data['level']=="pengurus"){
// buat session login dan username
$_SESSION['username']=$username;
$_SESSION['level']="pengurus";
// alihkan ke halaman dashboard pengurus
header("location:halaman_pengurus.php");
}else{
// alihkan ke halaman login kembali
header("location:index.php?pesan=gagal");
}
di sini kita memeriksa apakah berhasil login, jika berhasil login kita cek lagi level yang dimiliki oleh user yang berhasil login tersebut. apakah level nya. jika level nya adalah admin, maka akan kita buat session level nya “admin” dan kita alihkan halaman nya ke halaman halaman_admin.php, jika level user yang login adalah “pegawai”, maka akan kita buat session level pegawai dan kita alihkan halaman nya ke halaman halaman_pegawai.php. begitu juga dengan level pengurus. Membuat Login Multi User Level Dengan PHP dan MySQLi
Selesai, kemudian kita buat halaman untuk masing-masing user, yaitu file halaman_admin.php, halaman_pegawai.php, dan halaman_pengurus.php.
halaman_admin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html>
<head>
<title>Halaman admin-www.malasngoding.com</title>
</head>
<body>
<?php
session_start();
// cek apakah yang mengakses halaman ini sudah login
<a><ahref="https://www.malasngoding.com/membuat-login-multi-user-level-dengan-php-dan-mysqli">Membuat Login Multi Level Dengan PHP</a>-www.malasngoding.com</a>
<a><ahref="https://www.malasngoding.com/membuat-login-multi-user-level-dengan-php-dan-mysqli">Membuat Login Multi Level Dengan PHP</a>-www.malasngoding.com</a>
<a><ahref="https://www.malasngoding.com/membuat-login-multi-user-level-dengan-php-dan-mysqli">Membuat Login Multi Level Dengan PHP</a>-www.malasngoding.com</a>
</body>
</html>
Selesai, terakhir tinggal kita buat file logout.php. logout.php lah yang akan menangangi proses logout atau keluar.
Membuat Logout
Seperti yang sudah di jelaskan pada tutorial membuat login dengan php dan mysqli sebelumnya, logout.php juga telah pernah kita bahas dan sudah saya jelaskan secara detail. pada file logout.php ini kita akan menghapus semua session yang sudah di buat pada saat user login, kemudian mengembalikan halaman kembali ke halaman index.php.
logout.php
1
2
3
4
5
6
7
8
9
10
<?php
// mengaktifkan session php
session_start();
// menghapus semua session
session_destroy();
// mengalihkan halaman ke halaman login
header("location:index.php");
?>
Sampai tahap ini semua selesai, sekarang akan kita coba, silahkan akses localhost/multi_user pada browser.
membuat login multi user level dengan php dan mysqli
Di sini saya mencoba memasukkan username dan password yang salah, yaitu memasukkan username samsul, dan password samsul123. maka akan muncul pesan notifikasi login gagal.
membuat validasi login dengan php dan mysqli
Sekarang coba masukkan username dan password yang benar, yaitu yang sesuai dengan yang sudah kita input pada table user pada tahap sebelumnya.
Saya akan mencoba login sebagai admin, dengan memasukkan username dan password admin di atas.
login multi level
Klik login, maka akan di alihkan ke halaman admin.
halaman dashboard admin
Berjalan dengan baik, ini akan sama dengan user yang lain, yaitu diki dan jamaludin, jika teman-teman login sebagai diki, maka halaman akan di arahkan ke halaman_pegawai.php. karena diki memiliki level sebagai pegawai. begitu juga dengan jamaludin yang akan dialihkan ke halaman_pengurus.php karena jamaludin memiliki level sebagai pengurus.
Oke selesai sudah teman-teman, tutorial login md5 yang kita buat ini tidak menggunakan keamanan md5, silahkan teman-teman terapkan MD5 jika mau dengan membaca tutorial Membuat Login Dengan PHP dan MySQLi menggunakan MD5.
Jangan Lupa Like Fan Page Facebook malasngoding.com sebelum download ya, karena like dari teman-teman menjadi semangat bagi kami untuk terus menyajikan tutorial dan konten pemrograman yang berkualitas untuk teman-teman yang baru belajar Pemrograman.
Terima kasih sudah mengikuti tutorial Membuat Login Multi User Level Dengan PHP dan MySQLi ini, semoga dapat bermanfaat, silahkan share jika teman-teman rasa akan bermanfaat untuk teman-teman yang lain. semangat berbagi kebaikan 🙂
Diki Alfarabi Hadi
Coding enthusiast.
Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.
Membuat Form Login Dengan PHP Tanpa Database – Form login adalah fitur yang sangat berguna dalam sebuah aplikasi atau website. Dengan adanya fitur form login, ...
Menghitung selisih waktu dengan PHP adalah hal yang penting untuk dikuasai. Kenapa begitu? Karena terkadang kita dihadapkan dengan kondisi dimana aplikasi yang sedang kita buat ...
Membuat crud menggunakan ajax php pada operasi hapus data pada database. Artikel ini lanjutan dari artikel sebelumnya mengenai bagaimana cara menginput data menggunakan ajax jquery. ...
Membuat crud menggunakan ajax php dalam operasi input data. Artikel ini dilanjutkan dari materi sebelumnya yang membahas bagaimana cara menampilkan data menggunakan ajax dan php. ...
halaman admin tidak sempat logout saat close broser.
gimana caranya agar halaman admin diakses harus minta login dlu mas ???
mohon penjelasannya.
terima kasih
mas agar misalnya halaman operator tidak bisa ke halaman admin gimana? biasanya ada yang iseng langsung ke link halaman admin ketika sudah login sebagai operator
halo k, misalnya saya punya 1000 nama siswa lalu saya mau membuat masing2 siswa memiliki dasbordnya masing2 untuk hak pengunanya . gimana k cara membuatnya. mohon pencerahannya
Bang udah berhasil sesuai petunjuk cuma login tidak aman ketika masuk pegawai misalkan
Localhost/belajar/pegawai/index.php
Masuk ke halaman pegawai ketika diganti localhost/belajar/admin/index.php
Kenapa login pegawai bisa masuk ke halaman admin.
Pengennya ketika ketika localhost/belajar/admin/index.php
Ada keterangan anda tidak berhak akses kehalaman admin.
Gimana caranya ya bang biar aman.
Trimakasih
Download Ebook belajar HTML & CSS dasar untuk pemula gratis.
Ebook ini bisa di download oleh teman-teman yang baru mulai belajar HTML dan CSS dasar tapi tidak tahu mau memulai belajar dari mana.
materi pembelajaran sudah di susun secara sistematis dan di dukung contoh gambar.
Kak aku kok salah ya kak. Syntax eror di cek_login. Php
Di line 41 nya kak
coba di cek lagi penulisannya di baris 41 nya mas
Mas Diki, maaf nih nama databasenya kan user_level. Tapi di koneksi.php nama databasenya multi_user.
Mohon dikoreksi ya.
Terima kasih.
wah terimakasih mas maulana
work udah saya tes. makasih banyak pak diki, semoga lancar rejekinya dan berkah, serta sehat selalu
NIce tutorrr gannnn …
Makasih atas illmunya, semoga website maupun usahanya terus suksesss ^_^
Sip mantap tutorialnya
terimakasih bang diki, untuk sharing ilmunya sangat bermanfaat sekali. semoga kedepannya makin sukses. amiiinnnn
Mas Saya dowload full
tapi tetap ngak bisa masuk
perhatikan lagi koneksi database dan lain-lainnya mas
kenapa tampilan loginnya ngak bisa diganti?
padahal aku udah coba hapus cssnya tapi tampilannya tetep sama ngak berubah sama sekali
coba copas aja codingnya, mungkin ada yg salah. soalnya teman-teman yg lain lancar semua
terimaksih gan membantu sekali
ty gan
Mas Diki mau tanya dong misalhkan form buat admin lebih dari 1 form buat petugas juga… kalo misalkan headernya lebih dari 1 apakah bisa?
bisa mas, tinggal tambahin aja formnya
halaman admin tidak sempat logout saat close broser.
gimana caranya agar halaman admin diakses harus minta login dlu mas ???
mohon penjelasannya.
terima kasih
buat pengecekan session nya, udah kita bahas di atas mas
mas kalao pakai session ngga bisa menjalankan 2 akses pengguna sekaligus dalam waktu yang bersamaan di komputer ya?
Mas, saya coba akses halaman_admin.php pake user pegawai kok bisa kebuka juga ya? Sessionnya ngga berfungsi sepertinya?
terimakasih ilmunya mas
sangat bermanfaat
lanjutkan ke hak akses halaman menurut level
mas agar misalnya halaman operator tidak bisa ke halaman admin gimana? biasanya ada yang iseng langsung ke link halaman admin ketika sudah login sebagai operator
ez banget dek gada yang lebih susah apa
bang suapaya engga bisa akses di halam login gmna ya bang seesionya soalnya pngurus kita ketik di tag masih bisa akses di halaman admin
halo k, misalnya saya punya 1000 nama siswa lalu saya mau membuat masing2 siswa memiliki dasbordnya masing2 untuk hak pengunanya . gimana k cara membuatnya. mohon pencerahannya
Bang udah berhasil sesuai petunjuk cuma login tidak aman ketika masuk pegawai misalkan
Localhost/belajar/pegawai/index.php
Masuk ke halaman pegawai ketika diganti localhost/belajar/admin/index.php
Kenapa login pegawai bisa masuk ke halaman admin.
Pengennya ketika ketika localhost/belajar/admin/index.php
Ada keterangan anda tidak berhak akses kehalaman admin.
Gimana caranya ya bang biar aman.
Trimakasih
makasih banyak bang
Izinkan saya aplikasi ini untuk menjadi bahan referensi saya khusus nya untuk belajar juga, yaaa.. Terima Kasih..
Sekian, terima kasih, dan salam..
Salam..