Cara Membuat Captcha Kuis Matematika Dengan PHP


Halo sobat, postingan kali ini saya akan memberikan tutorial cara membuat captcha kuis matematika dengan php.

Apa itu Captcha?

Menurut Wikipedia, Captcha (disebut cap-ch-uh) yang merupakan singkatan dari Completely Automated Public Turing test to tell Computers and Humans Apart, adalah sejenis kaedah challenge- respons untuk memastikan bahwa respon yang dihasilkan hanya boleh dibuat oleh manusia dan bukannya komputer.
Biasanya captcha berupa teks berformat gambar, tapi kali ini saya akan membagikan versi captcha dengan kuis matematika. Disini saya menggunakan Session PHP, silahkan simak kode dibawah.

Pertama, Membuat Form

Silahkan copy code dibawah dan simpan dengan nama form.php
<?php
// 2016 By Sebastian Wirajaya
// sebasberbagi.com

session_start();
$number1 = rand(1,5);
$number2 = rand(1,5);

// mengacak oprator 
$oprator = "x - +";
$oprator = explode(" ", $oprator);
$oprator = $oprator[mt_rand(0, count($oprator)-1)];

// mendaftarkan session hasil sesuai oprator
if ($oprator == 'x') {
    $_SESSION['captcha'] = $number1 * $number2;
} else if ($oprator == '-') {
    $_SESSION['captcha'] = $number1 - $number2;
} else if ($oprator == '+') {
    $_SESSION['captcha'] = $number1 + $number2;
}

// mencetak pertanyaan
$question = "<b>$number1 $oprator $number2 = ?</b>";
?>

<form method="POST" action="send.php">
    <div>
        <label>Nama</label><br/ >
        <input type="text" name="nama" placeholder="Nama"/>
    </div>
    <div>
        <label>Captcha</label><br />
        <?php echo $question; ?> <input type="number" name="captcha" placeholder="Jawaban"/>
    </div>
    <div>
        <button type="submit">Kirim</button>
    </div>
</form>


Kedua, Membuat Proses Input Data

Copy kode dibawah dan simpan dengan nama send.php
<?php
// 2016 By Sebastian Wirajaya
// sebasberbagi.com

session_start();
if(isset($_SESSION['captcha'])) {
    if ($_POST['captcha'] <> $_SESSION['captcha']) {
        print "Captcha salah! <a href='form.php'>Kembali</a>";
    } else {
        unset($_SESSION['captcha']);
        print "Selamat datang ".$_POST['nama'];
    }
} else {
    print "Isi form dahulu! <a href='form.php'>Kembali</a>";
} ?>

Setelah itu jalankan form.php pada localhost atau hosting sobat. Sobat juga bisa melihat demo dari kode diatas atau mendownload source kode diatas dengan meng-klik tombol dibawah.
Sekian tutorial dari saya, semoga bermanfaat bagi kita semua.

Terimakasih (Sebas Berbagi).
Share this article :
+
Previous
Next Post »
0 Komentar untuk "Cara Membuat Captcha Kuis Matematika Dengan PHP"