Membuat Proses Login Menggunakan Satu File PHP
Adakalanya untuk membuat sebuah proses yang dikirim dari suatu halaman kita membutuhkan halaman lain untuk memproses data yang dikirim. Menggunakan dua file untuk membuat suatu proses login yang dilakukan oleh user memang tidak ada salahnya juga, hanya saja sebagian orang merasa hal tersebut terlalu merepotkan, karena perlu membuat sebuah file lagi untuk melakukan proses, padahal sebenarnya bisa juga diproses dalam satu halaman yang sama.
Rekomendasi: Mengirim Data ke Database Menggunakan Satu File PHP
Jadi form action loginnya nanti tidak diarahkan ke halaman lain alias kita hanya membuat satu file PHP untuk input username dan password sekaligus untuk proses atau validasi datanya ketika user/pengguna menekan tombol login
Membuat Proses Login Menggunakan Satu File PHP
Rekomendasi: Mengirim Data ke Database Menggunakan Satu File PHP
Jadi form action loginnya nanti tidak diarahkan ke halaman lain alias kita hanya membuat satu file PHP untuk input username dan password sekaligus untuk proses atau validasi datanya ketika user/pengguna menekan tombol login
Membuat Proses Login Menggunakan Satu File PHP
- Buat terlebih dahulu sebuah database yang berisi username atau password
- Buat koneksi kedatabase, dan buat halaman ketika user berhasil login. Lihat pada halaman sebelumnya : Implementasi MySQLi Prepared Pada Halaman Login
- Selanjutnya buat sebuah halaman login seperti berikut ini
<?php session_start(); include('koneksi.php'); if(isset($_POST['login'])){ //prepare $sql= mysqli_prepare($koneksi,"SELECT * FROM user WHERE username=? AND password=?") or die(mysqli_error()); $username = $_POST['username']; $password = md5($_POST['password']); //bind param mysqli_stmt_bind_param($sql,"ss",$username,$password); //eksekusi mysqli_stmt_execute($sql); //result $result=mysqli_stmt_get_result($sql); if(mysqli_num_rows($result) == 0){ echo '<script language="javascript">alert("Gagal login!"); document.location="formlogin.php";</script>'; }else{ $row = mysqli_fetch_assoc($result); if($row['level'] == 1){ //jika login dengan level 1 buat session user $_SESSION['user']=$user; echo '<script language="javascript"> document.location="berhasillogin.php";</script>'; } } } ?> <html> <head> <titile>Form Login</title> </titile> </head> <body> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post"> <input type="text" name="username" id="username" placeholder="Masukan username" required="" /> <input type="password" name="password" id="password" placeholder="Masukan password" required="" /> <input type="submit" name="login" id="login" value="login" /> </form> </body> </html>
- Terakhir silahkan test
*) Ket
PHP_SELF : merupakan fungsi yang digunakan agar proses dilakukan dihalaman sama
htmlspecialchars : bisa dibaca fungsinya dihalaman https://www.w3schools.com/Php/func_string_htmlspecialchars.asp
Jika misal ingin menggunakan style/gaya tertentu saat terjadi sebuah error atau gagal login, Anda bisa mempelajarinya pada halaman : Menyimpan Style Tertentu Pada Variabel PHP
Contoh diatas mengimplemntasikan teknik prepare, Anda bisa saja menggunakan cara biasa, atau nanti bisa dimodifikasi sendiri.
Contoh diatas mengimplemntasikan teknik prepare, Anda bisa saja menggunakan cara biasa, atau nanti bisa dimodifikasi sendiri.
thanks bro, buat nambah wawasan, saya juga senang utak-atik web
ReplyDeletemeninggalkan jejak dulu :)
ReplyDelete