本文实例讲述了ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能。分享给大家供大家参考,具体如下:
验证码现在是用户登录、支付等很多环节的必备元素,ThinkPHP5&5.1给我们提供了验证码的生成方式,也是非常的简单,在这里写一个完整的验证码验证的使用方法,供大家参考。
前台用户在登录时候需要验证码验证才能登录。首先使用Composer安装think-captcha扩展包:
1
|
composer require topthink /think-captcha |
在需要显示验证码的地方:
1
2
3
4
5
6
7
|
< tr > < th >请输入验证码:</ th > < td > < input type = "text" name = "captcha" class = "inp01" /> < img src = "{:url('index/login/verify')}" alt = "验证码加载中" id = "captcha" /> </ td > </ tr > |
其中verify是生成验证码的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public function verify() { $config = [ // 验证码字体大小 'fontSize' => 15, // 验证码位数 'length' => 3, // 关闭验证码杂点 'useNoise' => false, ]; $captcha = new \think\captcha\Captcha( $config ); return $captcha ->entry(); } |
其中$config是验证码的配置项,具体有哪些配置内容可以参考手册。
使用Ajax或者jquery-validate进行验证码的验证,也可以提交以后进行验证:
1
2
3
4
5
6
7
8
9
10
|
public function checkcapcha() { $captcha = new \think\captcha\Captcha(); if ( ! $captcha ->check(input( 'post.captcha' ))) { return false; } else { return true; } } |
为了实现点击验证码刷新的功能,还要写js代码:
1
2
3
|
$( "#captcha" ).click( function (event) { this .src = "{:url('index/login/verify')}?" +Math.random(); }); |
这样就实现了验证码的验证功能,是不是非常简单?
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/pan_yuyuan/article/details/81947804