找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

thinkphp6 验证码总是提示不正确

[复制链接]
发表于 2022-5-31 21:41:51 | 显示全部楼层 |阅读模式
1.首先安装验证码扩展包

  1. composer require topthink/think-captcha
复制代码
2.引用
  1. use think\captcha\facade\Captcha;
复制代码
3.调用
PHP
  1. public function verify()
  2.     {
  3.         return Captcha::create();
  4.     }
复制代码

HTML
  1. <div>{:captcha_img()}</div>
复制代码
或
  1. <div><img src="{:captcha_src()}" alt="captcha" /></div>
复制代码


或
  1. <img id="verityImg" class="form-control" src="{:url('admin/login/verify')}" alt="captcha" onClick="this.src=this.src+'?'+Math.random()" />
复制代码
4.验证
  1. if(!Captcha::check($verity))
  2.         {
  3.           $result['status']=0;
  4.             $result['msg']="验证码不正确!";
  5.             return json_encode($result);
  6.             exit;
  7.         }
复制代码

5需要开启Session才能有效。

在应用app目录下找到文件middleware.php文件,把里面注释的代码\think\middleware\SessionInit::class开启就行了

  1. <?php
  2. // 全局中间件定义文件
  3. return [
  4.     // 全局请求缓存
  5.     // \think\middleware\CheckRequestCache::class,
  6.     // 多语言加载
  7.     \think\middleware\LoadLangPack::class,
  8.     // Session初始化
  9.     \think\middleware\SessionInit::class
  10. ];
复制代码





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|知识在线

GMT+8, 2026-11-2 22:17 , Processed in 0.170115 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表