我遇到了一个小问题,我无法弄清楚。
我想在没有数据库的情况下使用验证码助手,但似乎没有任何效果。
在构造中,我创建了一个生成随机字符串的变量
public function __construct()
{
parent::__construct();
$this->rand = random_string('numeric', 4);
}
将此变量传递给验证码值,如下所示:
$vals = array(
'word' => $this->rand,
'img_path' => './captcha/',
'img_url' => base_url() . 'captcha/',
'font_path' => './system/fonts/texb.ttf',
'img_width' => '150',
'img_height' => 30,
'expiration' => 7200
);
$cap = create_captcha($vals);
并想用这样的回调函数来验证它
function captcha_check()
{
if($this->input->post('code') != $this->rand)
{
$this->form_validation->set_message('captcha_check', 'Wrong captcha code, hmm are you the Terminator?');
return false;
}
}
没有任何效果,问题是,验证码与图像一起显示,问题是验证,如果我在验证码字段中输入正确的数字,它总是向我显示错误,不管我输入什么,可以取悦某人给我一个提示?
html:
<label for="code">Count please </label>
<?php echo $rand; ?>
<input type="text" id="code" name="code" class="span3" />
验证行:
$this->form_validation->set_rules('code', 'Captcha', 'required|callback_captcha_check');