以下是【金聰采編】分享的內容全文:
本文實例講述了ThinkPHP5.0框架驗證碼功能實現方法。分享給大家供大家參考,具體如下:
背景
ThinkPHP5.0 已經出現很久了,最近有所接觸,下面介紹一下常用的第三方驗證碼功能的使用。

♜ 功能開發
1).引入第三方擴展包
進行 TP5 的開發,Composer 的使用會成為重要技能,以 windows 為例子,輸入命令:
composer require topthink/think-captcha
完成上述操作,會在以下目錄中出現 captcha 的擴展包
../vendor/topthink/think-captcha
2).前端設置
在前端頁面需要顯示驗證碼的位置,補充 {:captcha_img()} 即可,個人代碼舉例如下:
<p class="pass-form-item"> <label class="pass-label">驗證碼</label> <input type="text" name="verifyCode" class="pass-text-input " placeholder="請輸入驗證碼"> <div>{:captcha_img()}</div></p>
3). captcha 擴展包代碼優化
如果按照上述操作,顯示的驗證碼圖片并不能點擊刷新,可自己根據需求進行刷新功能設計;或者,建議進行下面的代碼優化:
function captcha_img($id = ""){ $js_src = "this.src='".captcha_src()."'"; return '<img src="' . captcha_src($id) . '" title="點擊更新驗證碼" alt="點擊更新驗證碼" onclick="'.$js_src.'" />'; //return ' . ')';}打開 ../vendor/topthink/think-captcha/src/helper.php 文件,替換上面的 captcha_img() 方法代碼.
此時的驗證碼圖片即可實現點擊 實時刷新 功能.
4). 后臺代碼驗證
根據前端請求而來的 verifyCode 數據,調用 helper.php 中的 captcha_check() 方法,進行驗證。
if(request()->isPost()){ $data = input('post.'); if(!captcha_check($data['verifyCode'])) { // 校驗失敗 $this->error('驗證碼不正確'); }}♞ 提示
官方文檔―― 【ThinkPHP5.1 驗證碼指導】
- 建議閱讀 ../vendor/topthink/think-captcha/src/helper.php 文件,及 Captcha.php ,可以進行樣式的自定義.
- 如果前端
{:captcha_img()}有傳值 id,那么后臺captcha_check()驗證也需要相應的 id 參數區分。 - 驗證結果,普遍使用 ajax 請求,以滿足用戶順暢的體驗.
更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。
1.軟件源碼推廣展示:目的展示軟件相關功能,接收技術學習者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內容;
3.設計素材圖片展示:展示素材設計理念、思維方式、傳播設計理念;
4.福利優惠信息展示:分享各類最新的福利信息,各種優惠信息展示;
以上分享目的僅供學習、參考使用,請勿用于其他用途,如果想商業使用或者代理,請自行聯系版權方獲取授權。任何未獲取授權的商業使用與本站無關,請自行承擔相應責任。
本站不存儲任何資源文件,敬請周知!
如果您認為本頁信息內容侵犯了您的相關權益(包含但不限于:著作權、首發權、隱私權等權利),或者您認為自己是此信息的權利人但是此信息不是自己發布的,可以直接版權舉報投訴,我們會根據網站注冊協議、資源分享協議等協議處理,以保護您的合法權益。
本網站采用 BY-NC-SA 協議進行授權 轉載請注明原文鏈接:ThinkPHP5.0框架驗證碼功能實現方法【基于第三方擴展包】

侵權舉報/版權申訴



