您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關怎么使用thinkphp5.1實現驗證碼及驗證碼驗證功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
注:由于thinkphp5.1沒有自帶驗證碼,所以需要通過composer安裝think-captcha 擴展包才能實現驗證碼
一、安裝composer
https://www.jb51.net/article/178346.htm
二、通過composer安裝think-captcha 擴展包
打開命令窗口,進入vendor/topthink輸入指令即可,也可以安裝shift鍵再右擊鼠標打開命令窗口可以直接進入當前文件夾位置
composer require topthink/think-captcha
三、在控制器里寫驗證碼的方法,要在命名空間引入use think\captcha\Captcha;然后在網址中輸入該方法的路由地址就可以出來驗證碼
//驗證碼 public function verify() { $captcha = new Captcha(); return $captcha->entry(); }
四、驗證碼在模板中輸出
在視圖中加入以下代碼:
<img src="{:url('user/verify')}" alt="captcha" />
src里填寫verify方法的路由地址
五、驗證輸入的驗證碼是否正確
1、可以用 Captcha 類的 check 方法檢測驗證碼的輸入是否正確
// 檢測輸入的驗證碼是否正確,$value為用戶輸入的驗證碼字符串 $captcha = new Captcha(); if( !$captcha->check($value)) { // 驗證失敗 }
2、或者直接調用封裝的一個驗證碼檢測的函數 captcha_check
/ 檢測輸入的驗證碼是否正確,$value為用戶輸入的驗證碼字符串 if( !captcha_check($value )) { // 驗證失敗 }
六、自定義驗證碼的參數
//驗證碼 public function verify() { $config = [ // 驗證碼字體大小 'fontSize' => 30, // 驗證碼位數 'length' => 4, // 關閉驗證碼雜點 'useNoise' => true, // 驗證碼圖片高度 'imageH' => 60, // 驗證碼圖片寬度 'imageW' => 200, // 驗證碼過期時間(s) 'expire' => 1800, ]; $captcha = new Captcha($config); return $captcha->entry(); }
在vendor\topthink\think-captcha\src目錄下的Captcha.php中也可以配置
七、以下是我測試登錄的代碼部分截圖
控制器里的verify()方法
控制器里的驗證登錄的loginCheck()方法
視圖層里的驗證碼顯示
感謝各位的閱讀!關于“怎么使用thinkphp5.1實現驗證碼及驗證碼驗證功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。