這篇文章主要為大家詳細介紹了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='<{$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(); }
以上就是本文的全部內容,希望對大家的學習有所協助。