Codeigniter Captcha Yapımı
24.02.2016
Yazar:Ramazan BELYURT
Okunma:1957
Codeigniter ile Captcha yapmak için Captcha kütüphanesi kullanılır. Captcha görüntüsünde kaç karakter gösterilecek, hangi karakterler gösterilecek, captcha arka plan grafiği nasıl olacak gibi ayarları Codeigniter dizinindeki system/helpers/captcha_helper.php dosyasından düzenleyebilirsiniz. Captcha kütüphanesini kontroller dosyamıza dahil ederek kolay bir şekilde Captcha oluşturulur. Controller dosyamızı aşağıdaki gibi oluşturuyoruz.
public function form() //captcha oluşturma
{
$this->load->library('captcha '); //Captcha kütüphanesi includ edildi.
$vals = array(
'img_path' => './captcha/',
'img_url' => base_url().'/captcha/',
'img_width' => 150,
'img_height' => '40',
'expiration' => 7200
);
$data['cap'] = create_captcha($vals);
$this->session-set_userdata('captcha_word',$data['cap']['word']);
$this->load->view('iletisim_view',$data);
}
|
Yukarıdaki kod ile captcha oluşturuyoruz. iletisim_view sayfamıza aşağıdaki kodu yazarak captcha ekrana yazdırıyoruz.
<form action="iletisim_kayit" method="post">
<?php echo $image; ?>
<input type="text" name="captcha" />
<input type="submit" value="Gönder" />
</form>
|
Aşağıdaki controller içerisindeki iletisim_kayit fonksiyonunda formdan gelen captcha bilgisi ile oluşturulan captcha bilgisi karşılaştırılıyor. Aynı ise gerekli işlemler yapılıyor. Aynı değilse kullanıcıya yanlış girdiğine dair uyarı veriyoruz.
public function iletisim_kayit()
{
$captcha = $this->input->post('captcha');
if(strtolower($captcha) == strtolower($this->session->userdata('captcha_word')))
{
yukarıda kodun doğru girilip girilmediği kontrol ediliyor. Doğru ise yapılacaklar buraya yazılacak.
$this->session->unset_userdata('captcha_word');
}
else echo "Doğrulama kodu yanlış";
}
|