解析 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 相关文章推荐
source.php查看源文件
Dec 09 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 PHP
解析PHP跨站刷票的实现代码
Jun 18 PHP
ThinkPHP视图查询详解
Jun 30 PHP
PHP return语句的另一个作用
Jul 30 PHP
php在linux下检测mysql同步状态的方法
Jan 15 PHP
深入php内核之php in array
Nov 10 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
php中时间函数date及常用的时间计算
May 12 PHP
PHP 网站修改默认访问文件的nginx配置
May 27 PHP
laravel自定义分页效果
Jul 23 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初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
php开发文档 会员收费1期
2012/08/14 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
python处理文本文件并生成指定格式的文件
2014/07/31 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
python实现单链表的方法示例
2019/09/03 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
高二美术教学反思
2014/01/14 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
护理培训心得体会
2016/01/22 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
学校就业保障协议书
2019/06/24 职场文书