TP5 使用验证码功能
程序员文章站
2022-06-05 14:29:22
工作中后台开发使用的是 TP5,但是对语法不是很熟悉,总是看着手册写代码。当时做 Java 的时候也是这样,很多语法需要靠百度。不是不能写代码,但是这样的效率感觉不高,没有行云流水的感觉,要是能有聊天时打字的感觉就好多了。不熟悉就得多学习,但是学完经常就忘记了,所以博客就当是记录了。 TP5的验证码 ......
工作中后台开发使用的是 tp5,但是对语法不是很熟悉,总是看着手册写代码。当时做 java 的时候也是这样,很多语法需要靠百度。不是不能写代码,但是这样的效率感觉不高,没有行云流水的感觉,要是能有聊天时打字的感觉就好多了。不熟悉就得多学习,但是学完经常就忘记了,所以博客就当是记录了。
tp5的验证码在 /vendor/topthink/think-captcha 目录下,文件分别是 captcha.php 、captchacontroller.php 和 helper.php 三个文件。可以直接通过 http://localhost/项目名称/public/index.php/captcha 来进行访问。
1、在页面上显示验证码
插入一个 img 的 html 标签:
1 <img src="/public/index.php/captcha" alt="点击更新验证码" onclick="reloadcode(this);"/>
2、点击验证码图片时更新验证码
插入一段 js 代码:
1 // 刷新验证码 2 function reloadcode(obj) { 3 obj.src = '/public/index.php/captcha?id=' + math.random(); 4 }
3、验证码显示大小的设置
在 /application/config.php 文件的末尾增加配置如下:
1 'captcha' => [ 2 'imageh' => 50, 3 'imagew' => 200, 4 ],
4、判断验证码
登录时将数据提交的地址,代码如下:
1 <form class="form form-horizontal" action="{:url('login/check')}" method="post">
5、判断验证码
判断验证码是否正确,在提交的 controller 中增加对应的判断代码:
1 public function check() 2 { 3 $data = input('post.'); 4 if (!captcha_check($data['code'])) { 5 $this->error('验证码不正确'); 6 } else { 7 $this->success('ok'); 8 } 9 }
tp5 验证码的详细说明地址:https://www.kancloud.cn/manual/thinkphp5/154295