In this wiki I will show how could use a Captcha in yii CForm. The easy way to show captcha image is create a form using CHtml method & CActiveForm, but CForm also should be able to show a captcha.
In your components -
Create a widget MyCaptcha.php
class MyCaptcha extends CCaptcha
{
public $model;
public $attribute;
public function run(){
parent::run();
echo CHtml::activeTextField($this->model, $this->attribute);
}
}
Add this into your contoller, to show the captcha image.
public function actions()
{
return array(
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
);
}
in view, your CForm like -
return array(
'title'=>'Please provide your login credential',
'elements'=>array(
'username'=>array(
'type'=>'text',
'maxlength'=>32,
),
'password'=>array(
'type'=>'password',
'maxlength'=>32,
),
'verifyCode'=>array(
'type'=>'MyCaptcha', //render the captcha image & text field.
'showRefreshButton'=>false,
'clickableImage'=>true,
),
),
'buttons'=>array(
'login'=>array(
'type'=>'submit',
'label'=>'Login',
),
),
);
Try this way it's working fine :)..
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.