MADU

Quotes of The Day

Membuat Login Form Untuk Aplikasi Berbasis Web [Part-2]


Pada Part 1 kita sudah melihat bagaimana contoh pembuatan login form dengan html. Agar login form yang telah disiapkan tersebut dapat bekerja dan memvalidasi input user, perlu disiapkan code php dan database tempat pencocokan data. Berikut adalah contoh database dan code validasi login form untuk aplikasi berbasis web dengan bahasa pemrograman server-side PHP.

1. Buat Database Untuk Menampung Data User

Untuk menampung data user yang nanti akan divalidasi datanya melalui login form, kita perlu mempersiapkan tabel dan kita beri nama user dengan contoh 3 kolom. Kolom pertama kita beri nama username dengan type data varchar, panjang karakter maksimal 50 karakter. Kolom password kita buat lebih panjang untuk menampung nilai yang sudah dienkripsi, kemudian kolom nama kita siapkan untuk menampung data varchar sepanjang 50 karakter. Kolom id dibuat auto_increment dan dijadikan sebagai primary key.

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(255) NOT NULL,
    nama VARCHAR(50) NOT NULL 
);

2. Masukkan Data User Untuk Kebutuhan Validasi

Untuk menambahkan record pada pada tabel user, gunakan query sql berikut ini. Silahkan tambahkan beberapa data untuk ujicoba validasi halaman login.

INSERT INTO users (username, password, nama) VALUES ('anditole', 'password123','Andrian Bambang Sutoyo');

3. Buat File Koneksi Database

Agar aplikasi yang kita buat bisa mengakses database yang telah disiapkan, kita perlu membuat satu file dengan kode di bawah ini, simpan file tersebut dengan nama koneksi.php. Berikut kode yang dituliskan :

<?php
$host = 'localhost';
$dbUsername = 'username_db'; //Ganti Dengan Username DBMS anda
$dbPassword = 'password_db'; //Ganti Dengan Password anda
$dbName = 'nama_db'; //Ganti Dengan Nama Database yang anda siapkan

// Membuat koneksi ke database
$conn = mysqli_connect($host, $dbUsername, $dbPassword, $dbName);

// Memeriksa koneksi
if (!$conn) {
    die("Koneksi ke database gagal: " . mysqli_connect_error());
}
?>

4. Buat Satu File Untuk Proses Validasi User

Proses Validasi User dilakukan dengan cara membandingkan nilai yang dikirimkan pada form input dengan nilai yang tersimpan di database. Untuk kode yang harus ditulis pada file proses validasi adalah sebagai berikut :

<?php
// Menghubungkan ke database MySQL
$host = 'localhost';
$dbUsername = 'username_db';
$dbPassword = 'password_db';
$dbName = 'nama_db';

$conn = mysqli_connect($host, $dbUsername, $dbPassword, $dbName);

// Proses login
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Mengambil nilai dari login form
    $username = $_POST['username'];
    $password = $_POST['password'];

    // Melakukan query untuk mencari pengguna berdasarkan username
    $query = "SELECT * FROM users WHERE username = '$username'";
    $result = mysqli_query($conn, $query);

    // Memvalidasi kredensial pengguna
    if (mysqli_num_rows($result) > 0) {
        $row = mysqli_fetch_assoc($result);
        $storedPassword = $row['password'];

        if (password_verify($password, $storedPassword)) {
            // Login berhasil, atur session
            session_start();
            $_SESSION['username'] = $username;

            // Redirect ke halaman utama setelah login
            header('Location: homepage.php');
            exit;
        } else {
            // Login gagal, tampilkan pesan error
            $error = "Username atau password salah.";
        }
    } else {
        // Login gagal, tampilkan pesan error
        $error = "Username atau password salah.";
    }
}
?>

Pada kode di atas, validasi dilakukan dengan menangkap nilai dari form input (login form), kemudian nilai tersebut dicocokkan dengan nilai yang tersimpan di database. Apabila nilai yang dicocokkan tersebut bernilai benar, maka user akan dibawa ke halaman "homepage.php". Namun, apabila validasi menghasilkan nilai yang tidak benar, maka akan tampil pesan error. Simpan file dengan kode di atas dengan nama proseslogin.php.

Demikianlah proses validasi login form dengan php untuk aplikasi berbasis web. Semoga tulisan ini bermanfaat.

Tidak ada komentar untuk "Membuat Login Form Untuk Aplikasi Berbasis Web [Part-2]"