最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

yii自带验证码怎么做

来源:动视网 责编:小采 时间:2020-11-03 23:11:30
文档

yii自带验证码怎么做

yii自带验证码怎么做:总共分为三个方面:控制器配置、模型rules配置和视图配置。第一步:控制器配置将下列代码配置在actions中,请求验证码链接对应为 控制器/captcha。'captcha' => [ 'class' => 'yii\captcha\Capt
推荐度:
导读yii自带验证码怎么做:总共分为三个方面:控制器配置、模型rules配置和视图配置。第一步:控制器配置将下列代码配置在actions中,请求验证码链接对应为 控制器/captcha。'captcha' => [ 'class' => 'yii\captcha\Capt

总共分为三个方面:控制器配置、模型rules配置和视图配置。

第一步:控制器配置

将下列代码配置在actions中,请求验证码链接对应为 “控制器/captcha”。

'captcha' => [
 'class' => 'yiicaptchaCaptchaAction',
 // 'backColor'=>0x000000,//背景颜色
 'maxLength' => 4, //最大显示个数
 'minLength' => 4,//最少显示个数
 'padding' => 5,//间距
 'height'=>45,//高度
 'width' => 75, //宽度
 // 'foreColor'=>0xffffff, //字体颜色
 'offset'=>4,
 ],

第二步:模型rules配置,即验证配置。

首先声明公共变量

public $verifyCode

其次在rules方法中配置验证

['verifyCode', 'captcha','captchaAction'=>'user/captcha','on' => ['login']]

在这条配置中的"captchaAction"加入了配置,即控制器的路由,如果不进行配置的话会走site/captcha的路由,这是框架样例的路由。

第三步:视图中的配置

在ActiveForm中加入如下代码:

<?= $form->field($model,'verifyCode')->widget(
 Captcha::className(),
 [
 'template' => '{image}{input}',
 'captchaAction'=>'user/captcha', // 此注意要使用自己配置的那个控制器验证码路由
 'imageOptions'=>[ 'style'=>'cursor:pointer;width:77px']
 ]
 )

最后有一个巨坑的问题:由于编码过程中使用了一些windows下的换行符或者空格,导致了未知的输出,会导致验证码图片不能够正常的生成。

这是需要在CaptchaAction类中的renderImageByGD方法中加入如下代码:

imagecolordeallocate($image, $foreColor);
 
ob_clean(); // 此行为插入代码,目的是清空缓存区为输出图片提供干净空间。
ob_start();
imagepng($image);
imagedestroy($image);

Gxlcms,大量的免费yii入门教程,欢迎在线学习!

文档

yii自带验证码怎么做

yii自带验证码怎么做:总共分为三个方面:控制器配置、模型rules配置和视图配置。第一步:控制器配置将下列代码配置在actions中,请求验证码链接对应为 控制器/captcha。'captcha' => [ 'class' => 'yii\captcha\Capt
推荐度:
标签: 验证码 自带 Yii
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top