Implementasi MySQLi Prepared Pada Halaman Login


login dengan prepared mysqli

Apa yang akan saya sampaikan ini berdasarkan pengalaman/praktek, jadi kalau semisal ada teori/penulisan code yang disampaikan salah, mohon untuk diluruskan.

Sebelumnya saya sudah pernah menjelaskan tentang fungsi dari mysqli prepared statement beserta contohnya, hanya saja tentu dalam contoh yang saya buat, variabel yang digunakan nilainya dibuat tetap. Sedangkan dalam implemntasi secara langsung, data yang dikirim oleh user tentu akan membuat nilai variabel berubah – ubah alias berbeda, oleh karena itu saya akan memberikan sedikit contoh implementasinya khususnya pada halaman login.

Baca juga : Mencoba Prepared Statements MySQLi 

Contoh implementasi dari mysqli prepared statement pada halaman login yang akan saya contohkan kali ini menggunakan teknik penulisan kode Procedural Style, karena saya pikir ini akan sangat mudah untuk dipahami. Dan berikut ini contoh implementasi mysqli prepared statement khususnya pada halaman login


  1. Buat Database dengan nama testlogin dengan struktur data seperti berikut

    struktur tabel
  2. Buat file koneksi ke database, misal dengan nama koneksi.php
    
    <?php
    $host="localhost";
    $user="root";
    $pass="";
    $db="testlogin";
    $koneksi=mysqli_connect($host,$user,$pass);
    if(!$koneksi){
    echo"Gagal Melakukan Koneksi:".mysqli_connect_error();
    exit();
    }
    $pilihdb= mysqli_select_db($koneksi,$db);
    if(!$pilihdb) {
     echo("Gagal memilih Database:".mysqli_connect_error());
    }
    ?>
    
    
  3. Buat file form login, misal dengan nama formlogin.php
    <html>
    <head>
    <titile>Form Login</title>
    </titile>
    </head>
    <body>
    <form action="loginproses.php" 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. Buat file untuk memproses file dari form login misal dengan nama loginproses.php

    <?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>';
    }
    }
    }
    mysqli_stmt_close($sql);
    mysqli_close($koneksi);
    
    ?>
    
    
    
    
  5. Buat file session dengan nama misal session.php
    <?php
    
    session_start();
     
    if(!isset($_SESSION['user'])){
     echo '<script language="javascript">alert
     ("Maaf Anda tidak diperkenankan mengkses halaman ini");
      document.location="formlogin.php";</script>';
    }
    
    ?>
    
  6. Terakhir Buat file untuk halaman user berhasil login misal dengan nama berhasillogin.php kemudian panggil file session.php didalamnya
    <?php
    include('session.php');
    echo "<h1> Berhasil Login</h1>";
    ?>

Sampai disini kita telah berhasil mengimplemntasikan fungsi prepared statement khususnya pada halaman login. Pada intinya teknik mysqli prepared ini memisahkan perintah query data secara langsung ke database, jadi saat dilakukan query ke Database, kita tidak langsung menaruh/menyimpan variabel datanya didalam query, namun nilai data digantikan menggunakan tanda ? (tanda tanya)

Baca juga : Membuat Proses Login Menggunakan Satu File PHP


0 Response to "Implementasi MySQLi Prepared Pada Halaman Login"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin