日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TP5 验证码功能实现(解决点击验证码不更新的问题)

發布時間:2024/6/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TP5 验证码功能实现(解决点击验证码不更新的问题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ThinkPHP5.0 已經很久了,最近有所接觸,下面介紹一下常用的第三方驗證碼功能的使用。

功能開發

1).引入第三方擴展包

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

composer require topthink/think-captcha
  • 1

完成上述操作,會在以下目錄中出現 captcha 的擴展包

..\vendor\topthink\think-captcha
  • 1

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>
  • 1
  • 2
  • 3
  • 4
  • 5

3). captcha 擴展包代碼優化

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

function captcha_img($id = "") {$js_src = "this.src='".captcha_src()."'";return '<img src="' . captcha_src($id) . '" alt="點擊更新驗證碼"onclick="'.$js_src.'" />';//return '![](' . captcha_src($id) . ')'; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 打開 ..\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('驗證碼不正確');} }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

提示

  • 建議閱讀 ..\vendor\topthink\think-captcha\src\helper.php 文件,及 Captcha.php ,可以進行樣式的自定義.
  • 如果前端 {:captcha_img()}有傳值 id,那么后臺 captcha_check() 驗證也需要相應的 id 參數區分。
  • 驗證結果,普遍使用 ajax 請求,以滿足用戶順暢的體驗.

總結

以上是生活随笔為你收集整理的TP5 验证码功能实现(解决点击验证码不更新的问题)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。