yii 中的验证码出不来是什么问题! 5

控制器publicfunctionactions(){returnarray(//captchaactionrenderstheCAPTCHAimagedisplayed... 控制器
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(//具体的请参考CCaptchaAction属性
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF, //背景颜色
'minLength'=>4, //最短为4位
'maxLength'=>4, //是长为4位
'transparent'=>true, //显示为透明,当关闭该选项,才显示背景颜色
),
);
}

model里加的
public $verifyCode;

rules 里加
array('verifyCode', 'captcha','allowEmpty'=>!CCaptcha::checkRequirements()),
view里
<?php echo $form->textField($model,'verifyCode'); ?>
<?php echo $form->error($model,'verifyCode'); ?>
<?php $this->widget('CCaptcha'); ?>

就是不知道哪里出了问题没有报错,但就是不显示当前状态是

请大家帮帮忙,分析一下是什么问题。
展开
 我来答
万和WH
推荐于2016-09-04 · TA获得超过242个赞
知道小有建树答主
回答量:320
采纳率:0%
帮助的人:79.7万
展开全部
本文描述yii验证码的实现,仅仅是笔者应用的一个小例子,网上也有,总结一下,希望帮助到有需要的Yii爱好者。1、笔者用的是用户登录,所以在sitecontroller中加以下代码: public function actions()
{
return array(
// 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): <?php if(CCaptcha::checkRequirements()): ?>
< div>
< ?php echo $form->labelEx($model,’verifyCode’); ?> <br/>
< div>
< ?php $this->widget(‘CCaptcha’); ?>
< ?php echo $form->textField($model,’verifyCode’); ?>
< /div>
< div>输入验证码
<br/></div>
< ?php echo $form->error($model,’verifyCode’); ?>
< /div>
3、在Loginform模型(LoginForm.php)中 加入如下代码,主要是添加属性字段,否则会报错(不存在的属性 ) public $username;
public $password;
public $verifyCode;
public $rememberMe;
private $_identity; 通过上面的操作实际上我们已经可以看到验证码了,但是在操作的时候我们会发现不输入验证码仍然可以,原因在于我们还没有指定验证是必须的,在LoginForm.php中加上array(‘verifyCode’,'required’)来指定必须,这时我们如果遗漏验证码,将会如下图所示:
本文描述yii验证码的实现,仅仅是笔者应用的一个小例子,网上也有,总结一下,希望帮助到有需要的Yii爱好者。1、笔者用的是用户登录,所以在sitecontroller中加以下代码: public function actions()
{
return array(
// 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): <?php if(CCaptcha::checkRequirements()): ?>
< div>
< ?php echo $form->labelEx($model,’verifyCode’); ?> <br/>
< div>
< ?php $this->widget(‘CCaptcha’); ?>
< ?php echo $form->textField($model,’verifyCode’); ?>
< /div>
< div>输入验证码
<br/></div>
< ?php echo $form->error($model,’verifyCode’); ?>
< /div>
3、在Loginform模型(LoginForm.php)中 加入如下代码,主要是添加属性字段,否则会报错(不存在的属性 ) public $username;
public $password;
public $verifyCode;
public $rememberMe;
private $_identity; 通过上面的操作实际上我们已经可以看到验证码了,但是在操作的时候我们会发现不输入验证码仍然可以,原因在于我们还没有指定验证是必须的,在LoginForm.php中加上array(‘verifyCode’,'required’)来指定必须,这时我们如果遗漏验证码,将会如下图所示:
76476567
2013-05-04 · TA获得超过441个赞
知道小有建树答主
回答量:257
采纳率:100%
帮助的人:183万
展开全部
php.ini 中的gd库扩展没有打开吧?
GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图,Yii的验证码需要GD库的支持
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式