您好,登錄后才能下訂單哦!
這篇文章主要介紹thinkphp驗證碼怎么弄,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
兩種驗證碼驗證實現,一種直接在form表單提交按鈕實現驗證,一種使用ajax傳遞參數實現驗證:
1、直接在form表單提交按鈕實現驗證,在控制器VerifyController.class.php中寫入如下代碼:
namespace Home\Controller; use Think\Controller; class VerifyController extends Controller { public function index() { $this->display(); } public function checkLogin() { $verify=new \Think\Verify(); $code=I('post.verify');//表單驗證碼 if($verify->check($code)){ $this->success('驗證碼正確'); }else{ $this->error('驗證碼錯誤'); } } public function verify() { // 實例化Verify對象 $verify = new \Think\Verify(); // 配置驗證碼參數 $verify->fontSize = 14; // 驗證碼字體大小 $verify->length = 4; // 驗證碼位數 $verify->imageH = 34; // 驗證碼高度 $verify->useImgBg = true; // 開啟驗證碼背景 $verify->useNoise = false; // 關閉驗證碼干擾雜點 $verify->entry(); } }
在視圖Verify/index.html中的代碼如下:
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <form action="{:U('verify/checkLogin')}" method="post"> <div class="form-group has-feedback"> <input type="text" name="verify" id="verify" placeholder="驗證碼" /> <span ></span> <img class="verify" src="{:U(verify)}" alt="驗證碼" onClick="this.src=this.src+'?'+Math.random()" /> </div> <div class="col-xs-4"> <button type="submit" >驗證</button> </div> </form> </body> </html>
2、使用ajax傳遞參數實現驗證,在控制器VerifyController.class.php中的代碼如下:
namespace Home\Controller; use Think\Controller; class VerifyController extends Controller { public function index() { $this->display(); } public function checkLogin() { $verify=new \Think\Verify(); $code=$_POST['code'];//ajax驗證碼獲取 if($verify->check($code)){ $this->ajaxReturn(1); }else{ $this->ajaxReturn(0); } } public function verify() { // 實例化Verify對象 $verify = new \Think\Verify(); // 配置驗證碼參數 $verify->fontSize = 14; // 驗證碼字體大小 $verify->length = 4; // 驗證碼位數 $verify->imageH = 34; // 驗證碼高度 $verify->useImgBg = true; // 開啟驗證碼背景 $verify->useNoise = false; // 關閉驗證碼干擾雜點 $verify->entry(); } }
視圖Verify/index.html中的代碼如下:
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="__JS__/jquery-2.1.0.min.js" ></script> </head> <body> <form action="{:U('verify/checkLogin')}" method="post"> <div class="form-group has-feedback"> <input type="text" name="verify" id="verify" placeholder="驗證碼" /> <span ></span> <img class="verify" src="{:U(verify)}" alt="驗證碼" onClick="this.src=this.src+'?'+Math.random()" /> </div> <div class="col-xs-4"> <button type="button" id="ver">驗證</button> </div> </form> <script> $(document).ready(function(){ /*ajax驗證碼*/ $("#ver").click(function(){ var code=$("#verify").val();//獲取輸入驗證碼 var url=$('form').attr('action');//獲取表單action的值 $.ajax({ type:"post", url:url, data:{"code":code}, error:function(request){ alert("ajax錯誤"); }, success:function(data){ if(data){ alert("正確") }else{ alert('錯誤') } } }); }); }); </script> </body> </html>
在第2種方法,不要忘記下載jquery.min.js文件下載地址:http://www.jq22.com/jquery-info122
在配置文件Common/conf/config.php中配置地址:
return array( /*地址替換*/ 'TMPL_PARSE_STRING'=>array( '__JS__'=>__ROOT__.'/Public/JS', ), );
以上是“thinkphp驗證碼怎么弄”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。