解析 thinkphp 框架中的部分方法


Posted in PHP onMay 07, 2017

 1 thinkphp 框架 中判断输入的数值和数据库中的数值是否一致

   首先 需要在view文件夹下建一个模板 名为zhuce.html

<html>
<head>
  <script src="__ROOT__/Public/js/jquery-1.11.2.min.js"></script>
</head>
<body>
    <div> 账号:<input type="text" name="num" id="uid"></div>
    <div id="ts"></div>
</body>
</html>

我在控制器TextController.class.php中写了一个方法zhuce(),显示模板

function zhuce()
{
  $this->show();
}

这里需要用到ajax来写的,首选需要引入jquery包 已经在上面引入了

<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("此账号已经存在");
          } 
       else  
        {
             $("#ts").html("此账号可用"); 
         }
      }
})
})

</script>

上面涉及到一个chuli方法,那么这儿我们要开始写chuli方法了

function chuli()
{
   $n=D("login");
   $num=$_POST["num"];
   $aa=$n->where("num='{$num}'")->count();
    $this->ajaxReturn($aa,"eval");
}

这样就可以来判断这个账号是不是可以使用了,但是我们会发现有一个小bug,就是如果是空的话,那么会显示此账号可以使用,为了避免出现这样的失误,我们可以在js中 判断一下是不是为空  if(num.trim()==""){$("#ts").html("账号不可以为空")} else{执行ajax部分的内容就可以了}

2 验证方法:

 首先是判断不为空的方法,这里可以直接用js来写是非常简单的,用的是nation表  我在view文件夹下写了一个jsdongtai.html的文件,

<html>
<head>
  <script src="__ROOT__/Public/js/jquery-1.11.2.min.js"></script>
</head>
<body>
  <div>
    代号:<input type="text" id="code"/>
    <span id="ts"></span>
  </div>
</body>
</html>

然后就是判断代号是否为空

<script type="text/javascript">
  $("#code").blur(function(){
   var code=$(this).val();
   if(code.trim()=="")
   {
     $("#ts).html("代号不能为空");
   }
   else
  {
    $("#ts").html("验证通过");
  }

})

</script>

然后用jsdongtai方法调一下就可以了 function jsdongtai(){$this->show();}

如果我们用ajax来调的话可能比较麻烦,但是对于其他的验证来说要方便的多了,我们可以在方法里面添加多个验证

比如我们用一个dongtai.html的模板  和jsdongtai.html的html部分是一样的,这样我们就只需要写ajax部分就可以了  

<script type="text/javascript">
 $("#code").blur(function(){
   var code=$(this).val();
   $.ajax({
     url:"__CONTROLLER__/yanzheng",
     data:{code:code},//第一个code必须是和表中的一致
    type:"POST",
    dataType:"TEXT",
     success:function(data)
      {
        if(data.trim()=="1")
          {
            $("#ts").html("验证通过"),
          }
          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")
       }
}

在我们平时做验证的时候,很少会用ajax,相对来说比较麻烦,我们用简单的js就可以完成的,比如我做一个关于邮箱的验证,在jsdongtai.html中加入这一句

<div><input type="text" id="email"/><span id="aa"></span></div>

然后我们开始做邮箱的验证了,我用的js都是引入的jquery包,前面已经引入过了,这里就不再详说了

<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("邮箱验证成功");  
  }
})
</script>
PHP 相关文章推荐
PHP 常用函数库和一些实用小技巧
Jan 01 PHP
PHP 全角转半角实现代码
May 16 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
ThinkPHP项目分组配置方法分析
Mar 23 PHP
PHP简单读取xml文件的方法示例
Apr 20 PHP
php实现头像上传预览功能
Apr 27 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
tp5 实现列表数据根据状态排序
Oct 18 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 PHP
ThinkPHP 模板引擎使用详解
May 07 #PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 #PHP
Laravel中任务调度console使用方法小结
May 07 #PHP
Laravel实现表单提交
May 07 #PHP
Laravel实现autoload方法详解
May 07 #PHP
PHP中include和require的区别实例分析
May 07 #PHP
自制PHP框架之设计模式
May 07 #PHP
You might like
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
php注册登录系统简化版
2020/12/28 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
python3 配置logging日志类的操作
2020/04/08 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
求职简历自荐信范文
2013/10/21 职场文书
营销与策划专业毕业生求职信
2013/11/01 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
2014年消防工作总结
2014/11/21 职场文书