php框架

 首页 > php框架 > Codeigniter入门 (2) 验证码

Codeigniter入门 (2) 验证码

分享到:
【字体:
导读:
         [导读] 简单的验证码,基本在登录时都用到,先使用CI自带的captcha方法,位于system/helpers/captcha_helper.php 控制器 首先,在控制器中加载captcha_helper.php辅助方法,代码如下 ?php defined(BASEPATH) OR exit(No dir...

简单的验证码,基本在登录时都用到,先使用CI自带的captcha方法,位于system/helpers/captcha_helper.php
控制器
   首先,在控制器中加载captcha_helper.php辅助方法,代码如下
 
defined('BASEPATH') OR exit('No direct script access allowed');
  
classWelcomeextendsCI_Controller {
      
    publicfunctionindex()
    {
        $out_datas=$this->_captcha();
        $this->load->view('welcome_message',$out_datas);
    }
    privatefunction_captcha(){
        $this->load->helper("my_captcha");//加载验证码
        $vals = array(
              'img_path'    =>'./captcha/',       //验证码图片存放的地址
              'img_url' => base_url()."/captcha/", //图片访问的路径
              'img_width'   =>'60',               //图片的宽度
              'img_height'=>20,                   //高度
              'expiration'=>1,                    //存放时间,1分钟
              'word_length'=>4                     //显示几位验证数字
        );
        $cap = create_captcha($vals);
        $out_datas["v_img"]=$cap["image"];               //生成的图片文件
        $out_datas["v_word"]=$cap["word"];               //生成的验证码,也可放入session中管理
        return$out_datas;
    }
}
 #在'img_path'    =>'./captcha/',  我们将生成的图片存放在 项目/captcha目录下,所以我们要在application的同级目录中创建captcha目录,用来存放验证码图片applicationcaptcha --在application 的同级目录创建文件system
视图
   然后在application/views/welcome_message.php中显示图片
 
   

Welcome to CodeIgniter!

  
   
       
         

验证码 :  

         
         

         
         
       
   
  
     Page renderedin0.4593 seconds. '. CI_VERSION .'':''?>

 
   在这里使用到了form_open方法,所以需要加载form_helper.php文件,不过,这个方法以后会经常用到,所以加在application/config/autoload.php文件中加载,这样CI就会自动帮我们加载。
 
1
$autoload['helper'] = array('url','form');
显示如下
5.png
 
#由于我们设定的image宽度为60px,同时只显示4个字符,而CI中默认为150px,长度为8,所以刷新时,验证码会跳到图片之外,修改办法如下.
1、将字体颜色修改成黑体,这样好看清楚
2、验证码在图片中显示(不跳出图片)
 
首先
  在application/helper/中创建   MY_captcha_helper.php 文件,内容与system/helper/captcha_helper.php中一致.然后修改其中的代码。
 
 
-- 在第88行
//$text_color   = imagecolorallocate($im, 204, 153, 153);
  $text_color   = imagecolorallocate ($im,0,0,0);//字体为黑色
    
-- 在128行
  //$x = rand(0, $img_width / ($length / 3));
  $x = rand(0, $img_width/($length));//X坐标
    
-- 在143行
  //$y = rand(0 , $img_height / 2);
    $y = rand(0, $img_height/3);//Y坐标
my_captcha_helper.php 下载
然后
  修改控制器中的加载代码
 
$this->load->helper("my_captcha");//加载验证码
最后显示
分享到:
Codeigniter 入门 (1) 基础
CI流程图   先从 github 下载最新的代码 目录结构如下     项目名     application         -cache                 --默认缓存文件         -config                --全局配置文件         -controllers           --控制器目录   ...
【军哥谈CI框架】之入门教程之第一讲:co...
大家好,欢迎和我一起共同学习和研究CI框架,本教程为《军哥谈CI框架》系列教程的CI入门教程,在开始本教程之前呢,军哥需要说明一下的是虽然本教程为学习CI的一个入门教程,但是也需要你有系统的学习过HTML、CSS和PHP,当然还要有MySQL等数据库的基础,另外最好是有面向对象的基础,毕竟CI是用了面向对象的开发结构和MVC的...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……