ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】
以下是【金聰采編】分享的內(nèi)容全文:
本文實(shí)例講述了ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
背景
ThinkPHP5.0 已經(jīng)出現(xiàn)很久了,最近有所接觸,下面介紹一下常用的第三方驗(yàn)證碼功能的使用。

♜ 功能開發(fā)
1).引入第三方擴(kuò)展包
進(jìn)行 TP5 的開發(fā),Composer 的使用會(huì)成為重要技能,以 windows 為例子,輸入命令:
composer require topthink/think-captcha
完成上述操作,會(huì)在以下目錄中出現(xiàn) captcha 的擴(kuò)展包
../vendor/topthink/think-captcha
2).前端設(shè)置
在前端頁面需要顯示驗(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 ' . ')';}打開 ../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)求而來的 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入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
1.軟件源碼推廣展示:目的展示軟件相關(guān)功能,接收技術(shù)學(xué)習(xí)者測試、測評(píng);
2.教程課程信息展示:展示課程信息,傳授課程各階段內(nèi)容;
3.設(shè)計(jì)素材圖片展示:展示素材設(shè)計(jì)理念、思維方式、傳播設(shè)計(jì)理念;
4.福利優(yōu)惠信息展示:分享各類最新的福利信息,各種優(yōu)惠信息展示;
以上分享目的僅供學(xué)習(xí)、參考使用,請(qǐng)勿用于其他用途,如果想商業(yè)使用或者代理,請(qǐng)自行聯(lián)系版權(quán)方獲取授權(quán)。任何未獲取授權(quán)的商業(yè)使用與本站無關(guān),請(qǐng)自行承擔(dān)相應(yīng)責(zé)任。
本站不存儲(chǔ)任何資源文件,敬請(qǐng)周知!
如果您認(rèn)為本頁信息內(nèi)容侵犯了您的相關(guān)權(quán)益(包含但不限于:著作權(quán)、首發(fā)權(quán)、隱私權(quán)等權(quán)利),或者您認(rèn)為自己是此信息的權(quán)利人但是此信息不是自己發(fā)布的,可以直接版權(quán)舉報(bào)投訴,我們會(huì)根據(jù)網(wǎng)站注冊(cè)協(xié)議、資源分享協(xié)議等協(xié)議處理,以保護(hù)您的合法權(quán)益。
本網(wǎng)站采用 BY-NC-SA 協(xié)議進(jìn)行授權(quán) 轉(zhuǎn)載請(qǐng)注明原文鏈接:ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】

侵權(quán)舉報(bào)/版權(quán)申訴



