標籤:設定 ttf splay 驗證 函數 收集 資訊 方法 方法校正
首先瞭解父類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(); }
使用ThinkPHP實現產生/檢驗驗證碼功能