亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

麻煩幫忙看看,在yii 中的驗證碼出不來是什么問題!

麻煩幫忙看看,在yii 中的驗證碼出不來是什么問題!

Yii C
天涯盡頭無女友 2021-08-23 18:15:40
控制器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'); ?>就是不知道哪里出了問題沒有報錯,但就是不顯示當前狀態是請大家幫幫忙,分析一下是什么問題。
查看完整描述

2 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

本文描述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’)來指定必須,這時我們如果遺漏驗證碼,將會如下圖所示:



查看完整回答
反對 回復 2021-08-30
  • 2 回答
  • 0 關注
  • 406 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號