知识学习

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4146|回复: 0

thinkphp6 验证码总是提示不正确

[复制链接]

升级   100%

152

主题

0

回帖

752

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
752
发表于 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|手机版|小黑屋|知识学习 ( 鲁ICP备20015483号 )

GMT+8, 2026-5-13 22:05 , Processed in 0.093222 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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