TP6驗證碼的使用和驗證失敗的原因以及解決辦法

首先使用Composer安裝think-captcha擴展包:

composer require topthink/think-captcha

 項目根目錄下

在模版內添加驗證碼的顯示代碼

<div>{:captcha_img()}</div>

或者

<div><img src="{:captcha_src()}" alt="captcha" /></div>

效果

 

驗證的時候一直提示失敗,後來看文檔說Thinkphp6默認是不開啓的,需要開啓Session纔能有效,文檔也沒具體說明,查看資料後知道解決辦法

在應用app目錄下找到文件middleware.php文件,把裏面註釋的代碼\think\middleware\SessionInit::class開啓就行了

<?php
// 全局中間件定義文件
return [
    // 全局請求緩存
    // \think\middleware\CheckRequestCache::class,
    // 多語言加載
    // \think\middleware\LoadLangPack::class,
    // Session初始化
     \think\middleware\SessionInit::class
];


驗證驗證碼

控制器引入

use think\captcha\facade\Captcha;

 

if( !Captcha::check($vercode)) {

    return json(['code'=>0, 'msg'=>'驗證碼錯誤');

}

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章