thinkphp驗證碼的實現(xiàn)(form、ajax實現(xiàn)驗證)
兩種驗證碼驗證實現(xiàn),一種直接在form表單提交按鈕實現(xiàn)驗證,一種使用ajax傳遞參數(shù)實現(xiàn)驗證:
1、直接在form表單提交按鈕實現(xiàn)驗證,在控制器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(); // 配置驗證碼參數(shù) $verify->fontSize = 14; // 驗證碼字體大小 $verify->length = 4; // 驗證碼位數(shù) $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="驗證碼" style="width:100px;" /> <span style="right:120px;"></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傳遞參數(shù)實現(xiàn)驗證,在控制器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(); // 配置驗證碼參數(shù) $verify->fontSize = 14; // 驗證碼字體大小 $verify->length = 4; // 驗證碼位數(shù) $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="驗證碼" style="width:100px;" /> <span style="right:120px;"></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驗證碼的實現(xiàn)(form、ajax使用驗證),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- TP5(thinkPHP5)框架基于ajax與后臺數(shù)據(jù)交互操作簡單示例
- ThinkPHP5.1+Ajax實現(xiàn)的無刷新分頁功能示例
- thinkPHP5 ajax提交表單操作實例分析
- ThinkPHP中使用ajax接收json數(shù)據(jù)的方法
- ThinkPHP結合AjaxFileUploader實現(xiàn)無刷新文件上傳的方法
- ThinkPHP實現(xiàn)ajax仿官網(wǎng)搜索功能實例
- thinkphp中AJAX返回ajaxReturn()方法分析
- thinkphp中ajax與php響應過程詳解
- ThinkPHP處理Ajax返回的方法
- thinkPHP+ajax實現(xiàn)統(tǒng)計頁面pv瀏覽量的方法
- thinkPHP5框架實現(xiàn)基于ajax的分頁功能示例
- TP5(thinkPHP5)框架使用ajax實現(xiàn)與后臺數(shù)據(jù)交互的方法小結
相關文章
thinkPHP框架實現(xiàn)的短信接口驗證碼功能示例
這篇文章主要介紹了thinkPHP框架實現(xiàn)的短信接口驗證碼功能,涉及基于thinkPHP的ajax提交、隨機數(shù)生成、短信接口調(diào)用、cookie操作等相關實現(xiàn)技巧,需要的朋友可以參考下2018-06-06thinkphp框架無限級欄目的排序功能實現(xiàn)方法示例
這篇文章主要介紹了thinkphp框架無限級欄目的排序功能實現(xiàn)方法,結合實例形式分析了thinkphp無限級欄目排序相關原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-03-03codeigniter教程之上傳視頻并使用ffmpeg轉(zhuǎn)flv示例
這篇文章主要介紹了codeigniter上傳視頻并使用ffmpeg轉(zhuǎn)成flv的示例,需要的朋友可以參考下2014-02-02推薦幾款用 Sublime Text 開發(fā) Laravel 所用到的插件
Sublime Text2 是一款具有代碼高亮、語法提示、自動完成且反應快速的編輯器軟件,不僅具有華麗的界面,還支持插件擴展機制,用她來寫代碼,絕對是一種享受。所以本人也是用她來做Laravel開發(fā)的,這里給大家推薦幾款她的插件2014-10-10laravel5.0在linux下解決.htaccess無效和去除index.php的問題
今天小編就為大家分享一篇laravel5.0在linux下解決.htaccess無效和去除index.php的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10