传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦缠绕的时候 黑马程序员官方团队   /  2019-1-14 09:38  /  72 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本文描述yii验证码的实现,仅仅是笔者应用的一个小例子,网上也有,总结一下,希望帮助到有需要的Yii爱好者。1、笔者用的是用户登录,所以在sitecontroller中加以下代码:
?
1
2
3
4
5
6
7
8
9
10
11
12
publicfunctionactions()
{
    returnarray(
    // captcha action renders the CAPTCHA image displayed on the contact page
    'captcha'=>array(
    'class’=>'CCaptchaAction',
    'backColor'=>0xFFFFFF,//背景颜色
    'minLength'=>4,//最短为4位
    'maxLength'=>4,//是长为4位
    'transparent'=>true,//显示为透明,当关闭该选项,才显示背景颜色
    ),
);


2、在表单文件中加如下代码(视图文件如login.php):
?
1
2
3
4
5
6
7
8
9
10
11


labelEx($model,’verifyCode’); ?>

widget(‘CCaptcha’); ?>
textField($model,’verifyCode’); ?>


输入验证码


error($model,’verifyCode’); ?>




3、在Loginform模型(LoginForm.php)中 加入如下代码,主要是添加属性字段,否则会报错(不存在的属性 )
?
1
2
3
4
5
public$username;
public$password;
public$verifyCode;
public$rememberMe;
private$_identity;


通过上面的操作实际上我们已经可以看到验证码了,但是在操作的时候我们会发现不输入验证码仍然可以,原因在于我们还没有指定验证是必须的,在LoginForm.php中加上array(‘verifyCode’,'required’)来指定必须,

分享至 : QQ空间
收藏

1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马