解析 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 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
基于php缓存的详解
May 15 PHP
PHP中spl_autoload_register()和__autoload()区别分析
May 10 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
Linux中为php配置伪静态
Dec 17 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
PHP网络操作函数汇总
May 18 PHP
php导出中文内容excel文件类实例
Jul 06 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 PHP
PHP打印输出函数汇总
Aug 28 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 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
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
如何通过jdbc调用存储过程
2012/04/19 面试题
应届毕业生自我鉴定范文
2013/12/27 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
聘任书模板
2014/03/29 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
法定代表人授权委托书
2014/09/19 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
助学感谢信范文
2015/01/21 职场文书
谢师宴家长答谢词
2015/09/30 职场文书