Membuat Form Login Dengan PHP Tanpa Database – Form login adalah fitur yang sangat berguna dalam sebuah aplikasi atau website.
Dengan adanya fitur form login, kita dapat membatasi pengguna untuk mengakses data atau fitur yang bersifat sensitif.
Misalnya, di sebuah situs website perlu dibuat fitur login agar pengunjung website tidak bisa menginput atau menghapus artikel secara bebas. Dengan adanya form login, kita dapat membatasi bahwa hanya admin yang bisa masuk dan melakukan perubahan pada website.
Namun karena tingginya permintaan dari teman-teman untuk dibuatkan tutorial Membuat Form Login Dengan PHP Tanpa Database, maka pada tutorial PHP ini kita akan belajar membuat form login tanpa menggunakan database.
Dengan kata lain, username dan password admin akan kita simpan pada script PHP saja.
Sebagai permulaan, mari siapkan sebuah folder kosong dengan nama malasngodingku di dalam folder htdocs.
Membuat Form Login Sederhana
Pada tutorial membuat login sederhana tanpa database ini, kita akan membuat halaman login sederhana tanpa CSS. jadi hanya form HTML saja.
Silahkan akses form loginnya dengan alamat localhost/malasngodingku.
Perhatikan pada form yang kita buat di atas. form login yang berisi form username dan password ini akan diproses pada file periksa_login.php. dan akan diproses menggunakan method POST.
<form action="periksa_login.php" method="POST">
Oh ya, Jika teman-teman ingin belajar mendesain halaman form login, saya juga sudah membuatkan tutorialnya.
Selanjutnya, kita akan membuat pemeriksaan login atau validasi dari username dan password yang diinput (form validation).
Pada atribut action di form login tadi kita memerintahkan untuk memproses form login ini di file periksa_login.php, maka sekarang buat file baru lagi dengan nama periksa_login.php dalam folder malasngodingku.
periksa_login.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// menangkap data username dan password yang dikirim dari form login
$username=$_POST['username'];
$password=$_POST['password'];
// memeriksa apakah username yang diisi adalah "admin", dan password yang diisi adalah "admin123"
if($username=="admin"&& $password == "admin123"){
// aktifkan session
session_start();
// buat session username dan session status. session username berisi username, dan session status berisi string "login"
$_SESSION['username']=$username;
$_SESSION['status']="login";
// setelah session dibuat, alihkan halaman ke halaman dashboard admin
header("location:admin/index.php");
}else{
// jika login gagal, alihkan halaman kembali ke halaman login dengan membuat parameter pesan yang berisi "gagal"
header("location:index.php?pesan=gagal");
}
?>
Akan saya jelaskan sedikit tentang pemeriksaan atau validasi login yang kita buat.
Pertama kita tangkap dulu data username dan password yang dikirim dari form login (index.php).
1
2
$username=$_POST['username'];
$password=$_POST['password'];
Kemudian kita buat pemeriksaan dengan menggunakan kondisi if else di PHP.
1
2
3
if($username=="admin"&&$password=="admin123"){
..
}
Pada kondisi if ini kita memeriksa jika username yang diisi adalah “admin”, dan password yang diisi adalah “admin123”, maka kita buat session untuk admin.
Dengan cara mengaktifkan session di PHP menggunakan fungsi session_start();.
Kemudian membuat session username yang berisi data username yang diinput.
Dan yang paling penting adalah membuat session “status” yang berisi string “login“.
1
2
3
session_start();
$_SESSION['username']=$username;
$_SESSION['status']="login";
Kenapa kita bilang penting? karena session status inilah yang menjadi kunci sebagai tanda pengguna berhasil login atau tidak.
Analoginya begini, jika pengguna mengisi username dan password dengan benar, maka kita beri dia kunci (session) yang berisi kata “login“. lalu kita perbolehkan masuk ke dashboard admin.
Selanjutnya kita alihkan halaman ke dashboard admin yang kita buat pada file index.php dalam folder admin.
1
header("location:admin/index.php");
Dan jika username dan password yang dimasukkan tidak sesuai, maka kita alihkan halamannya kembali ke halaman login dengan memberikan parameter pesan yang berisi “gagal“.
Hal terpenting untuk mengamankan halaman dashboard admin adalah dengan membuat pemeriksaan session login. Agar pengguna yang belum melakukan login tidak bisa mengakses halaman dashboard admin.
1
2
3
4
5
session_start();
if($_SESSION['status']!="login"){
header("location:../index.php?pesan=login_dulu");
}
Masih ingat kan dengan analogi yang sebelumnya disampaikan?
Pengguna yang berhasil melakukan login dengan benar, kita beri kunci berupa session yang berisi string “login“.
Maka pada proses ini kita lakukan pemeriksaan. Jika session status si pengguna bukan kata “login“, maka kita alihkan halaman kembali ke halaman login dengan membuat parameter pesan yang berisi “login_dulu“.
Sekarang mari kita coba form login yang terlah kita buat ini, apakah berhasil berjalan seperti yang kita inginkan.
Silahkan buka localhost/malasngodingku. dan isi username dengan asal-asalan. kita coba isi dengan username “andi”, dan password-nya “belajarphp”.
Seperti yang terlihat pada gambar, karena username dan password yang diisi salah, maka akan muncul notifikasi “Maaf, Username dan password salah!“.
Dari mana notifikasi ini muncul?
Dari parameter pesan yang kita kirimkan jika login tidak sesuai. yaitu header("location:../index.php?pesan=gagal");.
Perhatikan lagi form login yang berada di file index.php.
Di sana kita membuat pengecekan parameter pesan.
1
2
3
4
5
6
7
if($_GET['pesan']=="gagal"){
echo"<b>Maaf, Username dan password salah! </b> <br><br>";
}else if($_GET['pesan']=="logout"){
echo"<b>Terima kasih, Anda telah logout! </b> <br><br>";
}else if($_GET['pesan']=="login_dulu"){
echo"<b>Silahkan login untuk masuk ke dashboard! </b> <br><br>";
}
Dan coba akses halaman dashboard admin secara langsung tanpa melakukan login, akses localhost/malasngodingku/admin.
Maka halaman akan dialihkan kembali ke halaman login dengan parameter pesan ?pesan=login_dulu.
Maka pesan notifikasi yang ditampilkan akan seperti berikut.
Kemudian sekarang coba masukkan username dan password yang sesuai pada form login.
Yaitu username “admin” dan password “admin123”.
Maka akan dialihkan ke halaman dashboard admin.
Dan kita berhasil login dan diarahkan ke halaman dashboard admin.
Membuat Logout
Langkah terakhir, kita akan membuat logout pada dashboard admin.
Pada file index.php yang ada dalam folder “admin” kita telah membuat menu link logout. yang akan dialihkan ke file logout.php saat diklik.
1
<ahref="logout.php">LOGOUT</a>
Proses logout akan kita buat dalam file logout.php.
Buat file baru dengan nama logout.php dalam folder admin.
admin/logout.php
1
2
3
4
5
6
7
8
9
10
<?php
// mengaktifkan session
session_start();
// menghapus semua session
session_destroy();
// mengalihkan halaman ke halaman login, dengan memberi parameter pesan yang berisi string "logout"
header("location:../index.php?pesan=logout");
?>
Perhatikan file logout.php di atas. karena kita masih berurusan dengan session, gunakan perintah session_start() untuk mengaktifkan session pada PHP, kemudian dengan perintah session_destroy() untuk menghapus semua session yang ada.
Dan terakhir kita alihkan halaman kembali ke halaman login dengan parameter pesan yang berisi “logout“.
1
header("location:../index.php?pesan=logout");
Coba klik menu logout.
Maka session akan dihapus dan halaman dialihkan kembali ke halaman login sambil menampilkan notifikasi “Terima kasih, Anda telah logout“.
Penutup
Sebenarnya proses login yang kita buat sama seperti cara membuat login php dengan database mysql. Hanya saja pada tutorial ini kita tidak menggunakan database sama sekali. hanya menggunakan PHP.
Sekian tutorial membuat form login dengan PHP tanpa database. semoga bermanfaat.
Coding enthusiast.
Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.
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. ...
Membuat CRUD menggunakan Ajax PHP adalah salah satu materi yang menarik untuk dipelajari. CRUD merupakan singkatan dari Create, Read, Update, Delete. Definisi dari CRUD adalah ...
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.