0

Hi guys i have simple captcha that seems to working but the only problem i have seems to be with the callback function on the validation have a look at the captcha:

    function index()
    {
        $this->load->helper('captcha');
        $this->load->library('form_validation');
        //Input field, Friendly name, Attributes
        $this->form_validation->set_rules('name', 'Name', 'trim|required');
        $this->form_validation->set_rules('email', 'Email Address', 'trim|required|valid_email');
        $this->form_validation->set_rules('number', 'Contact Number', 'trim|required|numeric');
        $this->form_validation->set_rules('userCaptcha', 'Captcha', 'required|callback_check_captcha');

        $userCaptcha = $this->input->post('userCaptcha');

        //Check the fields for Validation Errors
        if ($this->form_validation->run() == FALSE) {

            $random_number = substr(number_format(time() * rand(),0,'',''),0,6);
            $values = array(
                'word' => $random_number,
                'img_path' => './captcha/',
                'img_url' => base_url().'captcha/',
                'img_width' => 140,
                'img_height' => 32,
                'expiration' => 7200
            );

            $data['captcha'] = create_captcha($values);
            $this->session->set_userdata('captchaWord',$data['captcha']['word']);

            //Load the view variables
            $data['today'] = date('l, d F Y');
            $data['title'] = "Contact Us";
            $data['content'] = 'site/contact_view';
            $this->load->view('templates/site/template', $data);
            }

that all works fine the captcha genrates and displays nicely on the form but when i try and test the captcha it returns a error on my callback:

    function check_captcha($str){
        $word = $this->session->userdata('captchaWord');
        if(strcmp(strtoupper($str),strtoupper($word)) == 0){
            return true;
        }
        else{
            $this->form_validation->set_message('userCaptcha', 'Your code did not match!');
            return false;
        }
    }

keep getting the following error when the form runs:

Unable to access an error message corresponding to your field name Captcha.(check_captcha)

Where am i going wrong?

2
Contributors
1
Reply
9
Views
2 Years
Discussion Span
Last Post by cereal
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.