解析 thinkphp 框架中的部分方法
1 thinkphp 框架 中判斷輸入的數(shù)值和數(shù)據(jù)庫(kù)中的數(shù)值是否一致
首先 需要在view文件夾下建一個(gè)模板 名為zhuce.html
<html> <head> <script src="__ROOT__/Public/js/jquery-1.11.2.min.js"></script> </head> <body> <div> 賬號(hào):<input type="text" name="num" id="uid"></div> <div id="ts"></div> </body> </html>
我在控制器TextController.class.php中寫了一個(gè)方法zhuce(),顯示模板
function zhuce() { $this->show(); }
這里需要用到ajax來(lái)寫的,首選需要引入jquery包 已經(jīng)在上面引入了
<script type="text/javascript"> $("#uid").blur(function(){ var num = $(this).val(); $.ajax({ url:"__CONTROLLER__/chuli", data:{num:num}, type:"POST", dataType:"TEXT", success:function(data) { if(data.trim()=="1") { $("#ts").html("此賬號(hào)已經(jīng)存在"); } else { $("#ts").html("此賬號(hào)可用"); } } }) }) </script>
上面涉及到一個(gè)chuli方法,那么這兒我們要開(kāi)始寫chuli方法了
function chuli() { $n=D("login"); $num=$_POST["num"]; $aa=$n->where("num='{$num}'")->count(); $this->ajaxReturn($aa,"eval"); }
這樣就可以來(lái)判斷這個(gè)賬號(hào)是不是可以使用了,但是我們會(huì)發(fā)現(xiàn)有一個(gè)小bug,就是如果是空的話,那么會(huì)顯示此賬號(hào)可以使用,為了避免出現(xiàn)這樣的失誤,我們可以在js中 判斷一下是不是為空 if(num.trim()==""){$("#ts").html("賬號(hào)不可以為空")} else{執(zhí)行ajax部分的內(nèi)容就可以了}
2 驗(yàn)證方法:
首先是判斷不為空的方法,這里可以直接用js來(lái)寫是非常簡(jiǎn)單的,用的是nation表 我在view文件夾下寫了一個(gè)jsdongtai.html的文件,
<html> <head> <script src="__ROOT__/Public/js/jquery-1.11.2.min.js"></script> </head> <body> <div> 代號(hào):<input type="text" id="code"/> <span id="ts"></span> </div> </body> </html>
然后就是判斷代號(hào)是否為空
<script type="text/javascript"> $("#code").blur(function(){ var code=$(this).val(); if(code.trim()=="") { $("#ts).html("代號(hào)不能為空"); } else { $("#ts").html("驗(yàn)證通過(guò)"); } }) </script>
然后用jsdongtai方法調(diào)一下就可以了 function jsdongtai(){$this->show();}
如果我們用ajax來(lái)調(diào)的話可能比較麻煩,但是對(duì)于其他的驗(yàn)證來(lái)說(shuō)要方便的多了,我們可以在方法里面添加多個(gè)驗(yàn)證
比如我們用一個(gè)dongtai.html的模板 和jsdongtai.html的html部分是一樣的,這樣我們就只需要寫ajax部分就可以了
<script type="text/javascript"> $("#code").blur(function(){ var code=$(this).val(); $.ajax({ url:"__CONTROLLER__/yanzheng", data:{code:code},//第一個(gè)code必須是和表中的一致 type:"POST", dataType:"TEXT", success:function(data) { if(data.trim()=="1") { $("#ts").html("驗(yàn)證通過(guò)"), } else { $("#ts").html("此處不能為空"), } } }) }) </script>
下面是yanzheng方法
function yanzheng() { $n=D("nation"); $a=array( array("code","require","此處不能為空")) if($n->validate($a)->create()) { $this->ajaxReturn("1","eval"); } else { $this->ajaxReturn($n->getError(),"eval") } }
在我們平時(shí)做驗(yàn)證的時(shí)候,很少會(huì)用ajax,相對(duì)來(lái)說(shuō)比較麻煩,我們用簡(jiǎn)單的js就可以完成的,比如我做一個(gè)關(guān)于郵箱的驗(yàn)證,在jsdongtai.html中加入這一句
<div><input type="text" id="email"/><span id="aa"></span></div>
然后我們開(kāi)始做郵箱的驗(yàn)證了,我用的js都是引入的jquery包,前面已經(jīng)引入過(guò)了,這里就不再詳說(shuō)了
<script type="text/javascript"> $("#email").blur(function(){ var email = $(this).val(); $zz=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; if(email.match($zz)==null) { $("#aa").html("郵箱格式不正確"); } else { $("#aa").html("郵箱驗(yàn)證成功"); } }) </script>
- ThinkPHP多表聯(lián)合查詢的常用方法
- ThinkPHP頁(yè)面跳轉(zhuǎn)success與error方法概述
- ThinkPHP控制器間實(shí)現(xiàn)相互調(diào)用的方法
- ThinkPHP實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接的解決方法
- ThinkPHP模版中導(dǎo)入CSS和JS文件的方法
- 采用thinkphp自帶方法生成靜態(tài)html文件詳解
- ThinkPHP中使用ajax接收json數(shù)據(jù)的方法
- ThinkPHP通過(guò)AJAX返回JSON的兩種實(shí)現(xiàn)方法
- thinkPHP的Html模板標(biāo)簽使用方法
- ThinkPHP登錄功能的實(shí)現(xiàn)方法
相關(guān)文章
php 調(diào)用ffmpeg獲取視頻信息的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇php 調(diào)用ffmpeg獲取視頻信息的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04php查詢mysql數(shù)據(jù)庫(kù)并將結(jié)果保存到數(shù)組的方法
這篇文章主要介紹了php查詢mysql數(shù)據(jù)庫(kù)并將結(jié)果保存到數(shù)組的方法,實(shí)例分析了php使用mysql_fetch_assoc查詢數(shù)據(jù)庫(kù)的技巧,需要的朋友可以參考下2015-03-03淺析Yii中使用RBAC的完全指南(用戶角色權(quán)限控制)
本篇文章是對(duì)Yii中使用RBAC的完全指南(用戶角色權(quán)限控制)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP創(chuàng)建文件及寫入數(shù)據(jù)(覆蓋寫入,追加寫入)的方法詳解
這篇文章主要介紹了PHP創(chuàng)建文件及寫入數(shù)據(jù)(覆蓋寫入,追加寫入)的方法,結(jié)合實(shí)例形式總結(jié)分析了php文件創(chuàng)建、寫入操作相關(guān)函數(shù)使用技巧,需要的朋友可以參考下2019-02-02解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR兩個(gè)常量的作用
本篇文章是對(duì)PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR兩個(gè)常量的作用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06