用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2476|回复: 1
收起左侧

[讨论/交流] 验证码问题和表单填充问题

[复制链接]
发表于 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"  加上这个看看

本版积分规则