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

yii實現創建驗證碼實例解析,yii驗證碼實例解析

編輯:關於PHP編程

yii實現創建驗證碼實例解析,yii驗證碼實例解析


本文以實例形式講述了yii創建驗證碼的方法,具體步驟如下所示:

一、在SiteController action()下添加如下代碼:

return array(
 // captcha action renders the CAPTCHA image displayed on the contact page
 'captcha'=>array(
 'class'=>'CCaptchaAction',
 'backColor'=>0xFFFFFF,
 ),
 // page action renders "static" pages stored under 'protected/views/site/pages'
 // They can be accessed via: index.php?r=site/page&view=FileName
 'page'=>array(
 'class'=>'CViewAction',
 ),
);

二、(1)在LoginForm model rules()下添加代碼:

//captche class needed
array('verifyCode', 'captcha','allowEmpty'=>!CCaptcha::checkRequirements()),

    (2)LoginForm model下添加屬性:

public $verifyCode;

三、在ContactForm model rules()下添加代碼:

// verifyCode needs to be entered correctly
array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),

四、在login view下添加代碼:

<div class="row">
<?php
echo $form->labelEx($model,'verifyCode');
?>
<?php
$this->widget('CCaptcha');
?>
<?php
echo $form->textField($model,'verifyCode');
?>
<?php
echo $form->error($model,'verifyCode');
?>
</div>

本例代碼僅為主要功能簡述,讀者還可以根據自身項目需求進一步完善該程序代碼,使其功能更具實用性。


yii 中的驗證碼出不來是什問題

本文描述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中加以下代碼......余下全文>>
 

yii自帶驗證碼怎做?

共三步,分別controllers,models,views各一層添置一行代碼即可實現
第一步在controllers添加
public function actions() {
return array( 'captcha' =>
array(
'class' => 'CCaptchaAction',
'backColor' => 0xF5F5F5,
'transparent'=>true,
'minLength'=>4, //最短為4位
'maxLength'=>8, //是長為4位
),
);
}
第二步在models添加如下:
<?php
public $verifyCode; //必須先定義
public function rules()
{
return array(
array('verifyCode', 'captcha'),
);
}
第三步在views添加如下(這裡使用小物件)
<?php $form=$this->beginWidget('CActiveForm')?>
<?php $this->widget('CCaptcha');?>
<?php echo $form->textField($model,'verifyCode'); ?>
<?php echo $form->error($model,'verifyCode'); ?>
<?php $this->endWidget(); ?>
?>
 

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