Adakalanya untuk menciptakan sebuah proses yang dikirim dari suatu halaman kita membutuhkan halaman lain untuk memproses data yang dikirim. Menggunakan dua file untuk menciptakan suatu proses login yang dilakukan oleh user memang tidak ada salahnya juga, hanya saja sebagian orang merasa hal tersebut terlalu merepotkan, alasannya yakni perlu menciptakan sebuah file lagi untuk melaksanakan proses, padahal bergotong-royong dapat juga diproses dalam satu halaman yang sama.
Rekomendasi: Mengirim Data ke Database Menggunakan Satu File PHP
Kaprikornus form action loginnya nanti tidak diarahkan ke halaman lain alias kita hanya menciptakan 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
Kaprikornus form action loginnya nanti tidak diarahkan ke halaman lain alias kita hanya menciptakan 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 menyerupai 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 dipakai supaya proses dilakukan dihalaman sama
htmlspecialchars : dapat dibaca fungsinya dihalaman https://www.w3schools.com/Php/func_string_htmlspecialchars.asp
Jika misal ingin memakai style/gaya tertentu ketika terjadi sebuah error atau gagal login, Anda dapat mempelajarinya pada halaman : Menyimpan Style Tertentu Pada Variabel PHP
Contoh diatas mengimplemntasikan teknik prepare, Anda dapat saja memakai cara biasa, atau nanti dapat dimodifikasi sendiri.
Contoh diatas mengimplemntasikan teknik prepare, Anda dapat saja memakai cara biasa, atau nanti dapat dimodifikasi sendiri.