程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> Yii驗證碼實現基礎教程

Yii驗證碼實現基礎教程

編輯:PHP基礎知識
 

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

5551337296709.jpg

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved