yii captcha

将以下代码插入评论的视图文件: views/comment/_form.php

  
  
  
  
  1. <?php if (extension_loaded('gd')): ?> 
  2.         <div class="row"
  3.             <?php echo CHtml::activeLabelEx($model'verifyCode') ?> 
  4.         <div> 
  5.         <?php $this->widget('CCaptcha'); ?> 
  6.         <?php echo CHtml::activeTextField($model,'verifyCode'); ?> 
  7.         </div> 
  8.         <div class="hint">Please enter the letters as they are shown in the image above. 
  9.         <br/>Letters are not case-sensitive.</div> 
  10.         </div> 
  11.     <?php endif; ?> 

模型Comment.php中添加如下代码:

  
  
  
  
  1. public $verifyCode

在rules()下添加:

  
  
  
  
  1. array('verifyCode''captcha''allowEmpty'=>!Yii::app()->user->isGuest), 

在attributeLabels()下添加:

  
  
  
  
  1. 'verifyCode' => 'Verification Code'

在控制器文件controllers/PostController.php 加添加如下动作:

  
  
  
  
  1. public function actions()    { 
  2.         return array
  3.             'captcha'=>array
  4.                 'class'=>'CCaptchaAction'
  5.                 'backColor'=>0xFFFFFF, 
  6.             ), 
  7.         ); 

此时, 在 rules中,在 'deny all'前,增加如下代码:

  
  
  
  
  1. array('allow'
  2.         'actions'=>array('captcha'), 
  3.         'users'=>array('*'), 
  4. ), 

转自:http://www.yiichina.com/forum/thread-881-1-1.html

你可能感兴趣的:(yii,captcha)