解析 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中截取字符串支持utf-8
Jan 18 PHP
PHP 采集程序 常用函数
Dec 18 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
Apr 09 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
解决laravel查询构造器中的别名问题
Oct 17 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 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
自动跳转中英文页面
2006/10/09 PHP
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
在html页面上拖放移动标签
2010/01/08 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
python生成密码字典的方法
2018/07/06 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
高中生自我鉴定范文
2013/10/30 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
高中班主任寄语
2019/06/21 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书