120216220 发表于 2013-10-5 18:13:07

验证码问题和表单填充问题

新手,感觉对框架的理解还想不透彻。
为了简便,我把captcha word 存在了session里面。没有使用到数据库。
但是需要做验证码的刷新,view视图是不能调用controller函数的,那又应该怎么进行刷新验证码呢。

captcha_model.php
class Captcha_model extends CI_Model
{
       
        function __construct()
        {
                parent::__construct();
                $this->load->helper('captcha');
        }

        function create_captcha()
        {
                $vals = array(
                  'word' => rand(1000,10000),
                  'img_path' => './captcha/',
                  'img_url' => base_url()."captcha/",
                  'img_width' => '60',
                  'img_height' => '30',
                  'expiration' => 7200
                  );
                $code = array(
                        'code' => $vals['word']);
                $this->session->set_userdata($code);
                return create_captcha($vals);
        }
}

controller
$data['cap'] = $this->captcha_model->create_captcha();
$this->load->view('submit_view', $data);

public function captcha_check($value)//自定义表单验证
        {
                if ($value != $this->session->userdata('code')) {
                        $this->form_validation->set_message('captcha_check', '验证码错误');
                        return FALSE;
                }else{
                        return TRUE;
                }
        }

第二个问题是,表单验证后的自动填充,手册上用这个set_value()函数,验证失败时是会自动填充,但是验证成功后,提交了数据,它还是自动的填充了表单。这个要怎么解决呀???

站高尿远 发表于 2013-10-6 08:58:14

在需要的<input autocomplete="off"加上这个看看
页: [1]
查看完整版本: 验证码问题和表单填充问题