Rumah > pembangunan bahagian belakang > tutorial php > PHP开发框架Yii Framework教程(21) UI组件 Captcha示例

PHP开发框架Yii Framework教程(21) UI组件 Captcha示例

黄舟
Lepaskan: 2023-03-05 08:56:02
asal
1678 orang telah melayarinya

Yii内置的Captcha基本上可以满足大部分需求,如果你对验证码有特殊要求,你可以自定义Captcha,这

主要是通过扩展 CCaptchaAction来实现的,本例自定义一个验证码功能,随机产生10以内的加减法,用

户需要计算出正确的结果才能通过验证。
本例基于上例Yii Framework 开发教程(20) UI 组件 Captcha示例,做如下修改

首先在protected/components 目 录下创建一个MathCaptchaAction,重载generateVerifyCode,

renderImage等方法:

class MathCaptchaAction
extends CCaptchaAction{
protected function generateVerifyCode(){return mt_rand((int)$this->minLength,(int)$this->maxLength);}
public function renderImage($code){parent::renderImage($this->getText($code));}
protected function getText($code){$code=(int)$code;$rand=mt_rand(1,$code-1);$op=mt_rand(0,1);if($op){
return $code-$rand. '+' . $rand;
}else{return $code+$rand. '-' . $rand;}}}
Salin selepas log masuk

然后修改SiteController的rules 使用新创建的MathCaptchaAction

public function actions()
{
return array(
'captcha'=>array(
'class' => 'MathCaptchaAction',
'minLength' => 1,
'maxLength' => 10,
)
Salin selepas log masuk

666.png

 以上就是PHP开发框架Yii Framework教程(21) UI组件 Captcha示例的内容,更多相关内容请关注PHP中文网(www.php.cn)! 


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan