Earlier
it was a plugin for captcha in Codigniter. Now its very with new version to embed captcha in codeigniter. Captcha helper is available in new codeigniter version

Controller
class Parents extends CI_Controller {



function __construct() {

parent::__construct();

$this->load->model('parent_model');

$this->load->helper('captcha');

}



function signup() {

$this->load->helper('captcha');

$vals = array(

'img_path' => './captcha/',

'img_url' => base_url() . 'captcha/'

);

$cap = create_captcha($vals);

$details['image'] = $cap['image'];

$details['imgName'] = $cap['time'];

$details['captchaId'] = $this->parent_model->createCaptcha($cap);

$this->load->view('signup', $details);

}

function checkCaptcha($captcha, $captchaId) {

$accuracy = $this->parent_model->checkCaptchaAccuracy($captcha, $captchaId);

if ($accuracy > 0) {

echo '1';

} else {

echo '0';

}

}





}



Model
class Parent_Model extends CI_Model {



function __construct() {

parent::__construct();

}



function createCaptcha($cap) {

$data = array(

'captcha_time' => $cap['time'],

'ip_address' => $this->input->ip_address(),

'word' => $cap['word']

);



$query = $this->db->insert_string('captcha', $data);

$this->db->query($query);

return $captchaId = $this->db->insert_id();

}





function checkCaptchaAccuracy($captcha, $captchaId) {

$this->db->from("captcha");

$this->db->where('word', $captcha);

$this->db->where('captcha_id', $captchaId);

$this->db->where('ip_address', $this->input->ip_address());

$availabilty = $this->db->get();

return $numRows = $availabilty->num_rows();

}

}


View













































echo $image;

?>

Enter the word you see above








Javascript
function checkCaptcha(baseurl,captcha,captchaId){

document.getElementById('captchaId').value = captchaId;

httpObject = getHTTPObject();

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

var xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

if(xmlhttp.responseText==1){

document.getElementById('message').innerHTML = 'Entered Captcha is Correct';

}



}

}

xmlhttp.open("POST", baseurl+"/user/checkCaptcha/"+captcha+'/'+captchaId, true);

xmlhttp.send(null);

}