ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】
本文實(shí)例講述了ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
背景
ThinkPHP5.0 已經(jīng)出現(xiàn)很久了,最近有所接觸,下面介紹一下常用的第三方驗(yàn)證碼功能的使用。
♜ 功能開(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)證碼" onclick="'.$js_src.'" />'; //return ' . ')'; }
打開(kāi) ..\vendor\topthink\think-captcha\src\helper.php 文件,替換上面的 captcha_img()
方法代碼.
此時(shí)的驗(yàn)證碼圖片即可實(shí)現(xiàn)點(diǎn)擊 實(shí)時(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)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
thinkphp3.2實(shí)現(xiàn)上傳圖片的控制器方法
這篇文章主要介紹了thinkphp3.2實(shí)現(xiàn)上傳圖片的控制器方法,結(jié)合實(shí)例形式分析了thinkPHP圖片文件上傳相關(guān)的文件類型判斷,文件路徑及相關(guān)屬性操作技巧,需要的朋友可以參考下2016-04-04ThinkPHP獨(dú)立分組使用的注意事項(xiàng)
這篇文章主要介紹了ThinkPHP獨(dú)立分組使用的注意事項(xiàng),針對(duì)獨(dú)立分組的目錄結(jié)構(gòu)與分組之間的相互調(diào)用進(jìn)行了較為深入的分析,并指出了使用時(shí)的注意事項(xiàng),需要的朋友可以參考下2014-11-11php上傳文件,創(chuàng)建遞歸目錄的實(shí)例代碼
這篇文章介紹了php上傳文件,創(chuàng)建遞歸目錄的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10Yii Framework框架中事件和行為的區(qū)別及應(yīng)用實(shí)例分析
這篇文章主要介紹了Yii Framework框架中事件和行為的區(qū)別及應(yīng)用,結(jié)合實(shí)例形式分析了Yii Framework框架中事件和行為的相關(guān)概念、原理、區(qū)別及應(yīng)用操作技巧,需要的朋友可以參考下2020-04-04jQuery向下滾動(dòng)即時(shí)加載內(nèi)容實(shí)現(xiàn)的瀑布流效果
下拉滾動(dòng)條或鼠標(biāo)滾輪滾動(dòng)到頁(yè)面底部時(shí), 動(dòng)態(tài)即時(shí)加載新內(nèi)容,通過(guò)本文給大家介紹jQuery向下滾動(dòng)即時(shí)加載內(nèi)容實(shí)現(xiàn)的瀑布流效果,感興趣的朋友參考下2016-01-01淺析ThinkPHP中execute和query方法的區(qū)別
初學(xué)ThinkPHP的時(shí)候,很多人都對(duì)execute()和query()方法的區(qū)別搞不懂,本文就此淺析二者的區(qū)別,需要的朋友可以參考下2014-06-06php 網(wǎng)頁(yè)游戲開(kāi)發(fā)入門(mén)教程一(webgame+design)
網(wǎng)頁(yè)游戲開(kāi)發(fā)入門(mén)教程一 webgame+design , 大家可以參考下。2009-10-10