解析 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水印技术
Feb 14 PHP
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
PHP递归获取目录内所有文件的实现方法
Nov 01 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 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
php下保存远程图片到本地的办法
2010/08/08 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
iis6+javascript Add an Extension File
2007/06/13 Javascript
Javascript倒计时代码
2010/08/12 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
Python中__new__与__init__方法的区别详解
2015/05/04 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
python 字符串追加实例
2019/07/20 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
精彩的大学生自我评价
2013/11/17 职场文书
法律专业求职信
2014/05/24 职场文书
新品发布会策划方案
2014/06/08 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
厉行节约工作总结
2015/08/12 职场文书