您好,登錄后才能下訂單哦!
小編給大家分享一下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(); }
以上是“ThinkPHP怎么實現生成和校驗驗證碼功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。