Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Utiliser la class Ccpatcha de yii

par Morgan

publié dans YiiFramwork

Dans ce tutoriel je vais vous apprendre comment utiliser la class Ccaptcha afin d'ajouter un captcha à votre formulaire.

 

Tout d'abord dans votre model vous devez ajouter :

 

 -   public $verifyCode;

 

-Dans votre fonction rules : 

  array('verifyCode', 'captcha', 'allowEmpty'=>!extension_loaded('gd')),

 

- Dans votre fonction attributeLabels :

  'verifyCode'=>'Code de verification',

Ce qui nous donne :



<?php
class user extends CActiveRecord
{
public $verifyCode;
[...]

public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array
('verifyCode', 'captcha', 'allowEmpty'=>!extension_loaded('gd')),
[...]

public function attributeLabels()
{
return array(
'verifyCode'=>'Code de verification',

[...]
?>


Dans votre controller vous devez ajouter :

public function actions()
{
return array(
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xEBF4FB,
),
);
}


et ajouter la permision dans votre accesRules

Ce qui nous donne :

<?php

[...]
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' and captcha actions
'actions'=>array('index','view','captcha'),
'users'=>array('*'),
[...]
public function actions()
{
return array(
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xEBF4FB,
),
);
}
[...]

?>


Et dans votre _form


<?php if(extension_loaded('gd')): ?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode'); ?>
<div>
<?php $this->widget('CCaptcha'); ?>
<?php echo $form->textField($model,'verifyCode'); ?>
</div>
<div class="hint">Veuillez retapez les lettres que vous voyer sur l'image.
<br/>Les caractères ne sont pas sensible à la case.</div>
</div>
<?php endif; ?>

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article