如何在codeigniter 2.1.0中創建驗證碼加載助手codeigniter? 當我有模型m_captcha:如何在codeigniter中創建驗證碼2.1.0
function __construct()
{
parent::__construct();
}
function setCaptcha()
{
$this->load->helper('captcha');
$vals = array(
'img_path' => './asset/captcha',
'img_url' => base_url().'/asset/captcha',
'expiration' => 3600,// one hour
'font_path' => './system/fonts/georgia.ttf',
'img_width' => '140',
'img_height' => 30,
'word' => random_string('numeric', 6),
);
$cap = create_captcha($vals);
if ($cap)
{
$capdb = array(
'captcha_id' => '',
'captcha_time' => $cap['time'],
'ip_address' => $this->CI->input->ip_address(),
'word' => $cap['word']
);
$query = $this->db->insert_string('captcha', $capdb);
$this->db->query($query);
}else {
return "Captcha not work" ;
}
return $cap['image'] ;
}
和我有控制器c_login:
function __construct()
{
parent::__construct();
$this->load->model('m_captcha');
}
public function index()
{
$this->load->helper('captcha');
$data = $this->m_captcha->setCaptcha();
$this->load->view('login/v_form',$data);
}
和我的看法:
<?php echo form_open('c_login'); ?>
<?php echo $cap['image']; ?>
<?php echo form_error('captcha');?>
<?php echo form_close(); ?>
爲什麼驗證碼,可以考慮不顯示? 位置文件夾和圖像captcha在短信/資產/ captcha。 sms是文件夾根目錄Codeigniter。
我改變$ data = $ this-> m_captcha-> setCaptcha(); 與 $ data ['captcha'] = $ this-> m_captcha-> setCaptcha(); and view <?php echo $ cap ['image']; ?> 與 <?php echo $ captcha ['image']; ?> 但結果是: C,只有字母C,沒有圖像captcha和其他字母。 – pwcahyo
你又錯了,仔細看上面的描述。您已經從模型中返回''image'',因此您不能以'$ captcha ['image']'的形式訪問它,它必須只是'$ captcha'。 – KuKu
[請點擊這裏](http://codeigniter.com/user_guide/helpers/captcha_helper.html),其非常簡單。 – KuKu