使用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='<{$smarty.const.__CONTROLLER__}>/verifyImg/'+Math.random()" alt="驗證碼" />
控制器校驗驗證碼(以登陸為例)
//登陸 function login(){ //兩個邏輯:展示,收集 if (!empty($_POST)) { $verify = new Verify(); //接收驗證碼 $captcha = $_POST['captcha']; //check()方法校驗驗證碼 if ($verify->check($captcha)) { echo "正確"; }else{ echo "錯誤"; } } //調用view視圖 $this->display(); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。