首頁  >  文章  >  後端開發  >  詳解ThinkPHP如何實作產生與校驗驗證碼

詳解ThinkPHP如何實作產生與校驗驗證碼

*文
*文原創
2018-01-03 10:30:592202瀏覽

ThinkPHP如何實作產生和校驗驗證碼?本文主要為大家詳細介紹了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如何產生有時效性的密文

#詳解PHP如何將文中的全角符號轉為半角

詳解PHP如何取得音訊檔案時長

#

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn