1. 程式人生 > >TP5 使用驗證碼功能

TP5 使用驗證碼功能

  工作中後臺開發使用的是 TP5,但是對語法不是很熟悉,總是看著手冊寫程式碼。當時做 Java 的時候也是這樣,很多語法需要靠百度。不是不能寫程式碼,但是這樣的效率感覺不高,沒有行雲流水的感覺,要是能有聊天時打字的感覺就好多了。不熟悉就得多學習,但是學完經常就忘記了,所以部落格就當是記錄了。

 

  TP5的驗證碼在 /vendor/topthink/think-captcha 目錄下,檔案分別是 Captcha.php 、CaptchaController.php 和 helper.php 三個檔案。可以直接通過 http://localhost/專案名稱/public/index.php/captcha 來進行訪問。

 

1、在頁面上顯示驗證碼

  插入一個 img 的 html 標籤:

1 <img src="/public/index.php/captcha" alt="點選更新驗證碼" onclick="reloadcode(this);"/>

 

 2、點選驗證碼圖片時更新驗證碼

  插入一段 js 程式碼:

1 // 重新整理驗證碼
2 function reloadcode(obj) {
3     obj.src = '/public/index.php/captcha?id=' + Math.random();
4 }

 

3、驗證碼顯示大小的設定

  在 /application/config.php 檔案的末尾增加配置如下:

1 'captcha'   => [
2     'imageH'    => 50,
3     'imageW'    => 200,
4 ],

 

4、判斷驗證碼

  登入時將資料提交的地址,程式碼如下:

1 <form class="form form-horizontal" action="{:url('login/check')}" method="post">

 

5、判斷驗證碼

  判斷驗證碼是否正確,在提交的 Controller 中增加對應的判斷程式碼:

1 public function check()
2 {
3     $data = input('post.');
4     if (!captcha_check($data['code'])) {
5         $this->error('驗證碼不正確');
6     } else {
7         $this->success('OK');
8     }
9 }

 

TP5 驗證碼的詳細說明地址:https://www.kancloud.cn/manual/thinkphp5/154295