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

主頁 > 知識庫 > ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼

ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼

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

۩ 背景

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

環(huán)境

  • 框架版本: ThinkPHP5.1.2
  • 運(yùn)行環(huán)境: CentOS7.2、phpStudy2017、Nginx

♜ 功能開發(fā)

1).引入第三方擴(kuò)展包

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

composer require topthink/think-captcha

完成上述操作,會在以下目錄中出現(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="請輸入驗(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)證碼" οnclick="'.$js_src.'" />';
 //return '![](' . captcha_src($id) . ')';
}

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

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

【注意:2020-02-26】

最近發(fā)現(xiàn),直接在CSDN上復(fù)制上面的代碼,“onclick” 粘貼后不是正常的代碼,注意 “o”字母,建議有問題時(shí)可手打一下即可!

4). 后臺代碼驗(yàn)證

根據(jù)前端請求而來的 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,那么后臺 captcha_check() 驗(yàn)證也需要相應(yīng)的 id 參數(shù)區(qū)分。
  • 驗(yàn)證結(jié)果,普遍使用 ajax 請求,以滿足用戶順暢的體驗(yàn).

到此這篇關(guān)于ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼的文章就介紹到這了,更多相關(guān)ThinkPHP5.1驗(yàn)證碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • ThinkPHP5&5.1實(shí)現(xiàn)驗(yàn)證碼的生成、使用及點(diǎn)擊刷新功能示例
  • thinkphp5.1驗(yàn)證碼及驗(yàn)證碼驗(yàn)證功能的實(shí)現(xiàn)詳解
  • tp5(thinkPHP5框架)captcha驗(yàn)證碼配置及驗(yàn)證操作示例
  • thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡單實(shí)現(xiàn)方法
  • thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能示例
  • thinkPHP實(shí)現(xiàn)的驗(yàn)證碼登錄功能示例
  • 詳解ThinkPHP3.2.3驗(yàn)證碼顯示、刷新、校驗(yàn)
  • thinkPHP中驗(yàn)證碼的簡單實(shí)現(xiàn)方法
  • thinkphp自帶驗(yàn)證碼全面解析
  • Thinkphp極驗(yàn)滑動驗(yàn)證碼實(shí)現(xiàn)步驟解析

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

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

    • 400-1100-266
    达尔| 东平县| 阳春市| 德保县| 铜川市| 广元市| 桦川县| 甘孜| 刚察县| 吴川市| 三门县| 巧家县| 襄汾县| 望城县| 嘉义市| 肥西县| 昌邑市| 称多县| 洛川县| 当雄县| 榆林市| 长寿区| 云阳县| 龙海市| 清远市| 合江县| 郁南县| 长乐市| 分宜县| 屯留县| 大兴区| 攀枝花市| 岚皋县| 余江县| 白水县| 含山县| 天柱县| 宁蒗| 柘荣县| 枣庄市| 铅山县|