Tutorial Membuat captcha Pada Codeigniter
Tutorial Membuat captcha Pada Codeigniter
Oke.. Selamat Sore Teman-Teman,
Pada Kesempatan Kali ini saya akan Mencoba Share bagaimana cara Membuat Captcha Pada Codeigniter. Sebelum Kita Masuk Ke TKP ada baiknya saya akan menjelaskan terlebih dahulu Apa Itu Captcha ? Oke.
Captcha Adalah suatu bentuk Kode Numerik atau String yang berguna untuk uji tantangan-tanggapan (challange-response test) yang digunakan dalam perkomputeran untuk memastikan bahwa jawaban tidak dihasilkan oleh suatu komputer. atau bukan roh halus yang mengisi.. :D
Keguanaannya biasanya untuk mencegah SPAM, jadi untuk memastikan bahwa yang mengisi form adalah manusia makanya diberi tantangan berupa code (captcha) yang harus diketik oleh user (bukan mesin atau Roh halus) hehehe. oke dah biar lebih jelas saya kasih penampakannya :
nah. gambar Di atas Merupakan Contoh dari Captcha pada Codeigniter, Codeigniter telah menyediakan captcha yang apabila kita akan memanggil nya, bisa lewat helper CI.
Oke dah langsung Saja bagaimana cara membuat nya.. langsung Ke TKP :
Langkah 1.
Buat Direktori/Folder dengan nama captcha, lokasinya sejajar dengan folder system dan application di CI.
Langkah 2 : Buat Controller dengan nama Cpatcha
Code seperti berikut :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Captcha extends CI_Controller { public function index() { $data['title'] = 'Form Captcha'; $cap = $this->buat_captcha(); $data['cap_img'] = $cap['image']; $this->session->set_userdata('kode_captcha', $cap['word']); $this->load->view('form_captcha', $data); } public function buat_captcha() { $vals = array( 'img_path' => './captcha/', 'img_url' => base_url().'captcha/', 'font_path' => './font/timesbd.ttf', 'img_width' => '150', 'img_height' => 30, 'expiration' => 60 ); $cap = create_captcha($vals); return $cap; } public function post() { $this->form_validation->set_rules('kode_captcha', 'Kode Captcha', 'required|callback_cek_captcha'); $this->form_validation->set_error_delimiters('<div style="border: 1px solid: #999999; background-color: #ffff99;">', '</div>'); if ($this->form_validation->run() === FALSE) { $data['title'] = 'Form Captcha'; $cap = $this->buat_captcha(); $data['cap_img'] = $cap['image']; $this->session->set_userdata('kode_captcha', $cap['word']); $this->load->view('form_captcha', $data); } else { $data['title'] = 'Captcha Benar!'; $this->session->unset_userdata('kode_captcha'); $this->load->view('captcha_sukses', $data); } } public function cek_captcha($input) { if($input === $this->session->userdata('kode_captcha')){ return TRUE; } else { $this->form_validation->set_message('cek_captcha', '%s yang anda input salah!'); return FALSE; } } }
Langkah 3 : Buat VIEW dengan nama form_captcha.php
Code seperti berikut :
<!DOCTYPE html> <head> <title><?php echo $title;?></title> </head> <body> <h1><?php echo $title;?><hr/></h1> <p><?php echo validation_errors(); ?></p> <?php echo form_open('captcha/post'); ?> <table border="0"> <tr> <td>Input Kode Captcha</td> <td>:</td> <td><?php echo form_input('kode_captcha').' '.form_submit('submit', 'Test'); ?></td> </tr> <tr><td><?php echo $cap_img;?></td><td colspan="2"> </td></tr> </table> <?php echo form_close(); ?> </body> </html>
Langkah 4 : Membuat Form captcha_sukses.php
Code seperti Berikut :
<!DOCTYPE html> <head> <title><?php echo $title;?></title> </head> <body> <h1><?php echo $title;?><hr/></h1> <p><?php echo anchor(base_url(), 'Coba Lagi ?');?></p> </body> </html>
Catatan : Pastikan Anda telah Men setting AutoLoad pada : Aplication->confiq->autoload.php Seperti di bawah ini:
$autoload['libraries'] = array('session','form_validation'); $autoload['helper'] = array('url','captcha','form');
Oke terimakasih. Semoga Bermanfaat. :)
LInk download sample klick disini