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

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

熱門(mén)標(biāo)簽:臨沂智能電銷(xiāo)機(jī)器人軟件 安陽(yáng)自動(dòng)外呼系統(tǒng)價(jià)格是多少 上海公司外呼系統(tǒng)線(xiàn)路 銀川ai電話(huà)機(jī)器人 地圖標(biāo)注風(fēng)向標(biāo) 芒果電銷(xiāo)機(jī)器人 十堰ai電話(huà)機(jī)器人效果怎么樣 電梯外呼線(xiàn)路板維修視頻 浙江外呼電話(huà)系統(tǒng)軟件

本文實(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 '![](' . captcha_src($id) . ')';
}

打開(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)求,以滿(mǎn)足用戶(hù)順暢的體驗(yàn).

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《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ì)有所幫助。

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

標(biāo)簽:武威 吐魯番 遵義 荊門(mén) 遂寧 寧夏 徐州 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】》,本文關(guān)鍵詞  ThinkPHP5.0,框架,驗(yàn)證,碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章