上一节我们实现了验证码生成,现在生成了验证码,我们怎么交给后端去验证呢?今天交给大家如何判断验证码填写的是否正确,下面开始我们的今天的课题
前端代码编写
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>验证码判断</title>
</head>
<body>
<form action="" method="post">
<input type="text" name="code">
<!-- 因为使用的场景是多样化的,所以需要id来标识是生成哪个验证码 -->
{:captcha_img('login')}
<button type="submit">验证</button>
</form>
</body>
</html>
前台页面一个简单的提交页面就做好了:
下一步我们要做的是验证,验证的环节就是在控制器里进行的。
不知道控制器的朋友可以去看一下第二节课程,这里不多说了
控制器代码编写
- 首先我们需要先引用验证码类
use think\captcha\Captcha;
- 在控制器里写下如下代码
public function index()
{
$code = input('post.code', '');
if ($code) {
$captcha = new Captcha();
// 这里写入一个login是因为前端生成的时候写的id是login,也是根据这个来区分是哪一个验证码的
if ($captcha->check($code, 'login')) {
echo '验证码填写正确';
} else {
echo '验证码填写错误';
}
exit();
}
return $this->fetch();
}