ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼
۩ 背景
ThinkPHP5.1
已經(jīng)出現(xiàn)很久了,最近有所接觸,下面介紹一下常用的第三方驗(yàn)證碼功能的使用。
環(huán)境
- 框架版本: ThinkPHP5.1.2
- 運(yùn)行環(huán)境: CentOS7.2、phpStudy2017、Nginx
♜ 功能開(kāi)發(fā)
1).引入第三方擴(kuò)展包
進(jìn)行 TP5 的開(kāi)發(fā),Composer
的使用會(huì)成為重要技能,以 windows
為例子,輸入命令:
composer require topthink/think-captcha
完成上述操作,會(huì)在以下目錄中出現(xiàn) captcha
的擴(kuò)展包
..\vendor\topthink\think-captcha
2).前端設(shè)置
在前端頁(yè)面需要顯示驗(yàn)證碼的位置,補(bǔ)充 {:captcha_img()}
即可,個(gè)人代碼舉例如下:
<p class="pass-form-item"> <label class="pass-label">驗(yàn)證碼</label> <input type="text" name="verifyCode" class="pass-text-input " placeholder="請(qǐng)輸入驗(yàn)證碼"> <div>{:captcha_img()}</div> </p>
3). captcha 擴(kuò)展包代碼優(yōu)化
如果按照上述操作,顯示的驗(yàn)證碼圖片并不能點(diǎn)擊刷新,可自己根據(jù)需求進(jìn)行刷新功能設(shè)計(jì);或者,建議進(jìn)行下面的代碼優(yōu)化:
function captcha_img($id = "") { $js_src = "this.src='".captcha_src()."'"; return '<img src="' . captcha_src($id) . '" title="點(diǎn)擊更新驗(yàn)證碼" alt="點(diǎn)擊更新驗(yàn)證碼" οnclick="'.$js_src.'" />'; //return ' . ')'; }
打開(kāi) ..\vendor\topthink\think-captcha\src\helper.php
文件,替換上面的 captcha_img()
方法代碼.
此時(shí)的驗(yàn)證碼圖片即可實(shí)現(xiàn)點(diǎn)擊 實(shí)時(shí)刷新
功能.
【注意:2020-02-26】
最近發(fā)現(xiàn),直接在CSDN上復(fù)制上面的代碼,“onclick” 粘貼后不是正常的代碼,注意 “o”字母,建議有問(wèn)題時(shí)可手打一下即可!
4). 后臺(tái)代碼驗(yàn)證
根據(jù)前端請(qǐng)求而來(lái)的 verifyCode
數(shù)據(jù),調(diào)用 helper.php
中的 captcha_check()
方法,進(jìn)行驗(yàn)證。
if(request()->isPost()){ $data = input('post.'); if(!captcha_check($data['verifyCode'])) { // 校驗(yàn)失敗 $this->error('驗(yàn)證碼不正確'); } }
♞ 提示
官方文檔—— 【ThinkPHP5.1 驗(yàn)證碼指導(dǎo)】
- 建議閱讀
..\vendor\topthink\think-captcha\src\helper.php
文件,及Captcha.php
,可以進(jìn)行樣式的自定義. - 如果前端
{:captcha_img()}
有傳值 id,那么后臺(tái)captcha_check()
驗(yàn)證也需要相應(yīng)的 id 參數(shù)區(qū)分。 - 驗(yàn)證結(jié)果,普遍使用
ajax
請(qǐng)求,以滿足用戶順暢的體驗(yàn).
到此這篇關(guān)于ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼的文章就介紹到這了,更多相關(guān)ThinkPHP5.1驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- ThinkPHP5&5.1實(shí)現(xiàn)驗(yàn)證碼的生成、使用及點(diǎn)擊刷新功能示例
- thinkphp5.1驗(yàn)證碼及驗(yàn)證碼驗(yàn)證功能的實(shí)現(xiàn)詳解
- tp5(thinkPHP5框架)captcha驗(yàn)證碼配置及驗(yàn)證操作示例
- thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡(jiǎn)單實(shí)現(xiàn)方法
- thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能示例
- thinkPHP實(shí)現(xiàn)的驗(yàn)證碼登錄功能示例
- 詳解ThinkPHP3.2.3驗(yàn)證碼顯示、刷新、校驗(yàn)
- thinkPHP中驗(yàn)證碼的簡(jiǎn)單實(shí)現(xiàn)方法
- thinkphp自帶驗(yàn)證碼全面解析
- Thinkphp極驗(yàn)滑動(dòng)驗(yàn)證碼實(shí)現(xiàn)步驟解析
相關(guān)文章
CI框架源碼解讀之利用Hook.php文件完成功能擴(kuò)展的方法
這篇文章主要介紹了CI框架源碼解讀之利用Hook.php文件完成功能擴(kuò)展的方法,分析了Hook的原理與擴(kuò)展CI框架的相關(guān)技巧,需要的朋友可以參考下2016-05-05thinkPHP連接sqlite3數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法(附Thinkphp代碼生成器下載)
這篇文章主要介紹了thinkPHP連接sqlite3數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法,涉及thinkPHP的數(shù)據(jù)庫(kù)相關(guān)配置技巧,并附帶了Thinkphp代碼生成器供讀者下載使用,需要的朋友可以參考下2016-05-05詳解PHP函數(shù) strip_tags 處理字符串缺陷bug
這篇文章主要介紹了詳解PHP函數(shù) strip_tags 處理字符串缺陷bug的相關(guān)資料,需要的朋友可以參考下2017-06-06從零開(kāi)始學(xué)YII2框架(三)擴(kuò)展插件yii2-gird
yii2-gird 插件是Yii2.0的一個(gè)擴(kuò)展。它在官方的girdview基礎(chǔ)上擴(kuò)展了一些實(shí)用的功能。非常好用,推薦使用哦。2014-08-08利用php獲得flv視頻長(zhǎng)度的實(shí)例代碼
這篇文章主要介紹了利用php獲得flv視頻長(zhǎng)度的實(shí)例代碼,需要的朋友可以參考下2017-10-10php調(diào)用快遞鳥(niǎo)接口實(shí)例代碼
這篇文章主要介紹了php調(diào)用快遞鳥(niǎo)接口實(shí)例代碼,需要的朋友可以參考下2017-10-10