關於ThinkPHP實作產生驗證碼和校驗功能解析

不言
發布: 2023-03-30 21:10:02
原創
1349 人瀏覽過

這篇文章主要為大家詳細介紹了ThinkPHP實現生成和校驗驗證碼功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

使用ThinkPHP實現生成/校驗驗證碼功能,供大家參考,具體內容如下

首先了解父類別Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函數

1:check() 校驗驗證碼是否正確

2:entry()輸出驗證碼並將驗證碼的值儲存的session中

3:authcode() 加密驗證程式碼(此方法在check()方法中被呼叫)

控制器產生驗證碼程式碼:

//验证码
 function verifyImg(){

  //验证码配置
  $cfg = array(
   'imageH' => 30, // 验证码图片高度
   'imageW' => 100, // 验证码图片宽度
   'fontSize' => 15, // 验证码字体大小(px)
   'length' => 4, // 验证码位数
   'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
  );

  //实例化Verify类 自动调用构造函数,把$cfg信息传给$config
  $verify = new Verify($cfg);
  $verify -> entry(); //输出验证码
 }
登入後複製

前台顯示驗證碼

<!--分组/控制器/方法--> <img src="<{$smarty.const.__CONTROLLER__}>/verifyImg" 
onclick = "this.src=&#39;<{$smarty.const.__CONTROLLER__}>/verifyImg/&#39;+Math.random()" alt="验证码" />
登入後複製

控制器校驗驗證碼(以登陸為例)

//登陆
 function login(){
  
  //两个逻辑:展示,收集
  if (!empty($_POST)) {

   $verify = new Verify();

   //接收验证码
   $captcha = $_POST[&#39;captcha&#39;];
   //check()方法校验验证码
   if ($verify->check($captcha)) {
    echo "正确";
   }else{
    echo "错误";
   }
  }

  //调用view视图
  $this->display();
 }
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

ThinkPHP3.2.3驗證碼的顯示與刷新以及校驗

thinkPHP中驗證碼的簡單實作方法

Thinkphp5.0自動產生模組以及目錄的方法

##

以上是關於ThinkPHP實作產生驗證碼和校驗功能解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板