codeigniter验证码助手无法正常工作

时间:2018-03-08 09:01:30

标签: php codeigniter

未在images文件夹

内创建验证码图像
  public function index()
  {
       $this->load->helper('captcha');
       $capt = array ('img_path' => './images/',
                      'img_url' =>   base_url() .'images/',
                      'font_path' => base_url().'system/fonts/texb.ttf',
                      'img_width' => '150',
                      'img_height' => 24,
                      'border' => 0,
                      'expiration' => 7200);

       $result = create_captcha($capt);
       $this->load->view('captchaDisplay',$result);
  }

查看captchaDisplay.php中的验证码

<?php 
  echo $result ['image'];
 ?>

2 个答案:

答案 0 :(得分:1)

根据您的代码,文件结构应为

application
images
System
index.php
.htaccess

在控制器中

public function index()
{
    $this->load->helper('captcha');
    $capt = array ( 
        'img_path' => './images/', # root path
        'img_url' =>   base_url() .'images/',  # root path
        'font_path' => base_url().'system/fonts/texb.ttf',
        'img_width' => '150',
        'img_height' => 24,
        'border' => 0,
        'expiration' => 7200
    );
    $result['image'] = create_captcha($capt);
    $this->load->view('captchaDisplay',$result);
}

在视图中显示 - Check this link

答案 1 :(得分:0)

错误在于:echo $result ['image'];

自:

$result = create_captcha($capt);
$this->load->view('captchaDisplay',$result);

您正在传递包含$result word .etc的数组image。要在您的视图中进行访问,您可以echo $image;或更好地执行:

$result = create_captcha($capt);
$this->load->view('captchaDisplay', array('captcha' => $result);

并通过以下方式访问:echo $captcha['image'];

如果您计划添加更多视图项,后者是更好的方法。