佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ThinkPHP5.0框架驗證碼功能實現(xiàn)方法【基于第三方擴展包】

ThinkPHP5.0框架驗證碼功能實現(xiàn)方法【基于第三方擴展包】

熱門標簽:科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設置 服務器配置 電子圍欄 阿里云 Linux服務器 團購網(wǎng)站 銀行業(yè)務

本文實例講述了ThinkPHP5.0框架驗證碼功能實現(xiàn)方法。分享給大家供大家參考,具體如下:

背景

ThinkPHP5.0 已經(jīng)出現(xiàn)很久了,最近有所接觸,下面介紹一下常用的第三方驗證碼功能的使用。

♜ 功能開發(fā)

1).引入第三方擴展包

進行 TP5 的開發(fā),Composer 的使用會成為重要技能,以 windows 為例子,輸入命令:

composer require topthink/think-captcha

完成上述操作,會在以下目錄中出現(xiàn) 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 擴展包代碼優(yōu)化

如果按照上述操作,顯示的驗證碼圖片并不能點擊刷新,可自己根據(jù)需求進行刷新功能設計;或者,建議進行下面的代碼優(yōu)化:

function captcha_img($id = "")
{
  $js_src = "this.src='".captcha_src()."'";
  return 'img src="' . captcha_src($id) . '" title="點擊更新驗證碼" alt="點擊更新驗證碼" onclick="'.$js_src.'" />';
  //return '![](' . captcha_src($id) . ')';
}

打開 ..\vendor\topthink\think-captcha\src\helper.php 文件,替換上面的 captcha_img() 方法代碼.

此時的驗證碼圖片即可實現(xiàn)點擊 實時刷新 功能.

4). 后臺代碼驗證

根據(jù)前端請求而來的 verifyCode 數(shù)據(jù),調(diào)用 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 參數(shù)區(qū)分。
  • 驗證結(jié)果,普遍使用 ajax 請求,以滿足用戶順暢的體驗.

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • php解壓縮zip和rar壓縮包文件的方法
  • php安裝php_rar擴展實現(xiàn)rar文件讀取和解壓的方法
  • php 解壓rar文件及zip文件的方法
  • PHP執(zhí)行zip與rar解壓縮方法實現(xiàn)代碼
  • PHP實現(xiàn)rar解壓讀取擴展包小結(jié)

標簽:衢州 萍鄉(xiāng) 衡水 蚌埠 廣元 大理 江蘇 棗莊

巨人網(wǎng)絡通訊聲明:本文標題《ThinkPHP5.0框架驗證碼功能實現(xiàn)方法【基于第三方擴展包】》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    元朗区| 平舆县| 兴业县| 蒙自县| 名山县| 布拖县| 新化县| 赣榆县| 额敏县| 桐城市| 玉林市| 手游| 绿春县| 洱源县| 河西区| 永修县| 鄯善县| 平定县| 汉川市| 湖北省| 阜南县| 惠安县| 阿巴嘎旗| 资源县| 宜城市| 博罗县| 驻马店市| 灵石县| 吴忠市| 临沭县| 温泉县| 平度市| 屏东县| 滕州市| 镇安县| 东至县| 竹北市| 诸暨市| 全南县| 桐柏县| 萨嘎县|