Membuat Proses Login Menggunakan Satu File PHP


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
  1. Buat terlebih dahulu sebuah database yang berisi username atau password
  2. Buat koneksi kedatabase, dan buat halaman ketika user berhasil login. Lihat pada halaman sebelumnya : Implementasi MySQLi Prepared Pada Halaman Login
  3. 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>
  4.  Terakhir silahkan test
    test login
*) 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.

2 Responses to "Membuat Proses Login Menggunakan Satu File PHP"

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin