Login Dengan Validasi Captcha Sederhana Menggunakan PHP Pemula

Selamat datang saudara diblog saya. Pada kesempatan kali ini saya akan berbagi sedikit ilmu yang sudah saya pelajari yaitu login dan validasi menggunakan captcha sederhana menggunakan php. Sebelumnya pastikan terlebih dahulu memahami dasar dasar php yak. oke lanjut.

Login Dengan Validasi Captcha Sederhana Menggunakan PHP Pemula

Sebelum masuk ke materi, terlebih dahulu kita pahami dahulu apa itu captcha. Captcha adalah suatu bentuk uji tantangan yang digunakan komputer/sistem untuk memastikan jawaban yang dimasukan tidak dihasilkan oleh suatu komputer.


Macam macam captcha ada banyak ada berbasis text, gambar, matematika, picture recognition dan lain sebagainya. Nah pada kesempatan kali ini karena kita membuat captcha sederhana saja, maka kita menggunakan captcha berbasis text. captcha berbasis text ini nanti captcha yang berisi text random bisa berupa angka ataupun campuran huruf dan angka. oke tanpa bertele tele langsung saja masuk kedalam tutorialnya. sebagai berikut:

Pertama siapkan database terlebih dahulu. Bisa mengikuti database yang saya buat boleh buat sendiri dengan sesuai kasus masing masing. Database saya bernama akademik dengan berisi tabel users dengan field:

  • id_user
  • password
  • nama_lengkap
  • email
  • level
  • is_active
Database Akademik Tabel User Login Validasi Captcha
Sekali lagi database bisa sesuaikan dengan kasus masing masing, jangan terpaku pada database yang saya gunakan. Selanjutnya silahkan saudara buka code editor masing masing boleh sublime, vscode atau yang lainnya.

koneksi.php

Penjelasan:
Pertama ketika membuat suatu web yang berkaitan dengan php native pastikan membuat file koneksi untuk mengkoneksikan web ke database.

login.php

Penjelasan:
Buat form sederhana disana saya menggunakan html yang saya tampilkan pada file php dengan echo, teman bebas mau menggunakan source tersebut atau mau membuat source berupa html sederhana saja boleh. tetapi untuk form action dan method harus sesuai jika mengikuti cara saya.

cek_login.php


penjelasan:
file ini berfungsi untuk melakukan pengecekan terhadap user yang login. Untuk penjelasan setiap baris source code saya jelasakan sebagai berikut:
// koneksi kedatabase
include "koneksi.php";
// memulai session
session_start();
// mengambil input id_user dan password(enkrispi terlebih dahulu menggunakan md5)
$id_user = $_POST["id_user"];
$password = md5($_POST['password']);
// query kedatabase dengan kondisi rule id_user dan password sama dengan inputan
$sql = mysqli_query($con, "SELECT * FROM users WHERE id_user='$id_user' AND PASSWORD='$password'");
// fetch dalam bentuk array dari hasil query kedalam variable $u
$u = mysqli_fetch_array($sql);
// melakukan pengecekan capctha apakah sesuai dengan session yang dibuat pada captcha.php
if ($_POST['captcha_code'] == $_SESSION['captcha_code']) {
    // cek user apakah terdapat data yang terambil
    if ($sql->num_rows > 0) {
        // melakukan pengecekan apakah user tersebut aktif atau tidak
        if($u['is_active'] == 1){
            // set session id_user dan nama
            $_SESSION['id_user'] = $u['id_user'];
            $_SESSION['nama'] = $u['nama_lengkap'];
            echo "User berhasil login! <br>";
            echo "Id user : " . $_SESSION['id_user'] .  "<br>";
            echo "Nama : " . $_SESSION['nama'] . "<br>";
            echo "<a href='logout.php'>Log out</a>";
        } else {
            echo "<center>Login gagal! Akun belum diaktivasi! <br>Silahkan aktifasi</center>";
        }
    } else {
        // jika user tidak ada atau username/password salah tidak sesuai maka notif berikut
        echo "<center>Login gagal! Username & Password tidak sesuai <br> <a href='login.php'>Ulangi</a></center>";
    }
} else {
    // jika captcha salah maka notif berikut
    echo "<center>Login gagal! Capctha tidak sesuai <br> <a href='login.php'>Ulangi</a></center>";
}

captcha.php

Penjelasan:
file ini berfungsi untuk membuat captcha berbasis text dan menyimpan text captcha tersebut kedalam session untuk nanti ditampilkan di form login. untuk penjelasan setiap baris source code saya jelaskan sebagai berikut.
    // memulai session
    session_start();
    // membuat random angka dan dienkripsi kedalam bentuk md5
    $random_alpha = md5(rand());
    // membuat captcha code dengan mengambil dari random_alpha(mnd5) dimulai dari 0 dengan panjang code 6 karakter
    $captcha_code = substr($random_alpha, 0, 6);
    // memasukan captcha code kedalam session "captcha code"
    $_SESSION["captcha_code"] = $captcha_code;
    // membuat layer dengan ukuran 70 x 30 piksel
    $target_layer = imagecreatetruecolor(70, 30);
    // menentukan warna background captcha
    $captcha_background = imagecolorallocate($target_layer, 255, 160, 199);
    // membuat gambar berdasarkan ukuran $target_layer dan memberikan koordinatas x dan y dan meberikan warna paramenter $captcha_background
    imagefill($target_layer, 0, 0, $captcha_background);
    // menetapkan warna text captcha
    $captcha_text_color =imagecolorallocate($target_layer, 0, 0, 0);
    // menentukan tulisan apa yang akan ditulis pada gambar dan warna apa posisi dimana dengan parameter x, y, z dengan layer $target_layer
    imagestring($target_layer, 5, 5, 5, $captcha_code, $captcha_text_color);
    // memberikan header berupa type contentnya image/jpeg
    header("Content-type:image/jpeg");
    // output image ke browser atau file
    imagejpeg($target_layer);

itu dia tutorial sederhana dari saya dalam pembuatan login validasi captcha dengan php sederhana untuk pemula. 

Posting Komentar (0)
Lebih baru Lebih lama