Ramazan Belyurt

B.T. Öğretmeni
Bursa/Türkiye
ramazanbelyurt@gmail.com
www.ramazanbelyurt.name.tr


Codeigniter Captcha Yapımı

24.02.2016        Yazar:Ramazan BELYURT               Okunma:2051

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ış";

	}


Yorum Ekleyin




abdullah türüdü
hocam Unable to load the requested class: Captcha diye bir hata alıyorum
Ramazan Belyurt
Abdulllah Codeigniter dizinine captcha isminde klasör oluşturdun mu?
Faydalı Linkler