«

yii加载自带验证码的方法

时间:2024-2-10 11:11     作者:韩俊     分类: PHP


Yii的源码包里面是自带有验证码的相关类的,因此在使用验证码的时候无需再加载外部验证码类来助阵了。下面本文将介绍一下如何在项目中加载Yii自带的验证码功能。

具体分三步:

(1)在需要加载验证码的controllers文件里面添加如下代码:

public function actions(){
    return array(
        'captcha'=> array(  
            'class'=>'Captcha',
            'width'=>65, //默认120
            'height'=>25, //默认50
            'padding'=>0, //文字周边填充大小
            'backColor'=>0xFFFFFF, //背景颜色
            'foreColor'=>0x2040A0, //字体颜色
            'minLength'=>4, //设置最短为4位
            'maxLength'=>4, //设置最长为4位,生成的code在6-7直接rand了
            'transparent'=>false, //显示为透明,默认中可以看到为false
            'offset'=>1, //设置字符偏移量
            'testLimit'=>0 //限制相同验证码出现的次数,0位不限制
        )
    );
}

(2)在controllers文件所对应的models文件里面添加如下代码:

<?php
......
public $verifyCode;//必须先定义
......
public function rules(){
    return array(
        ......
        //注意这里的'on'=>'login',即action=login的时候显示
        array('verifyCode','captcha','on'=>'login','allowEmpty'=>!extension_loaded('gd')),
    );
}
......
?>

(3)在需要加载验证码的views页面添加如下代码:

<?php
$this->widget('CCaptcha',
    array(
        'showRefreshButton'=>false,
        'clickableImage'=>true,
        'imageOptions'=>array(
            'alt'=>'点击换图',
            'title'=>'点击换图',
            'id'=>'checkcodeImg',
            'style'=>'cursor:pointer;'
        )
    )
);?>

标签: php php教程

热门推荐