Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册


Posted in PHP onDecember 27, 2016

动态验证:(不需要建Model模型)

1.建一个控制器,做表单操作(包含验证)

<?php
namespace Biaodan\Controller;
use Think\Controller;
class BiaodanController extends Controller
{
  public function test()
  {
    if(empty($_POST))//如果$_POST空,显示添加页面,
    {
      $this->show();  
    }
    else  //如果$_POST不为空,走验证,验证是否成功,添加数据库  
    {
      $y = D("yonghu");
      $arr = array(//造一个验证规则
        array(‘uid‘,‘require‘,‘用户名不能为空!‘,0),
        array(‘pwd‘,‘pwd1‘,‘输入的密码不一致‘,0,‘confirm‘),//相等验证:confirm(验证表单中的两个字段是否相同,定义的验证规则是一个字段名),意思是pwd1必须为字段
        array(‘email‘,‘email‘,‘邮箱格式不正确‘,0),
        array(‘name‘,‘/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/‘,‘身份证号不正确‘,0,‘regex‘),//正则表达式,
        array(‘age‘,‘18,50‘,‘年龄不在范围内‘,0,‘between‘)//范围验证
      );
      if($y->validate($arr)->create())//$y->validate($arr),添加之前执行验证规则
      {
        $y->add();  
      }
      else
      {
        die($y->getError());  
      }
    }
  }  
}

2.对应控制器方法的html页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<form action="__ACTION__" method="post">
<br />
<br />
<br />
<br />
  <div>用户名:<input type="text" name="uid" /></div>
<br />
  <div>密码:<input type="text" name="pwd" /></div>
<br />
  <div>确认密码:<input type="text" name="pwd1" /></div>
<br />
  <div>姓名:<input type="text" name="name" /></div>
<br />
  <div>邮箱:<input type="text" name="email" /></div>
<br />
  <div>年龄:<input type="text" name="age" /></div>
<br />
  <div><input type="submit" value="添加" /></div>
</form>
</body>
</html>

ajax:(不需要建Model模型)

1.建一个控制器,做表单操作(包含验证)

<?php
namespace Admin\Controller;
use Think\Controller;
class ZhuCeController extends Controller {
  public function add(){
    $this->show();
  }
  public function addchuli(){
    $y = D("yonghubiao");
    $arr = array(
    array(‘uid‘,‘require‘,‘用户名不能为空!!‘),//ps: require 意思是字段必须,就是不能为空
    array(‘pwd‘,‘require‘,‘两次密码不一致!‘),
    array(‘name‘,‘require‘,‘没有填写名称!!‘),
    array(‘email‘,‘email‘,‘邮箱格式不正确!!‘),
    array(‘age‘,‘/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/‘,‘身份证不合法‘,0,‘regex‘),
    );
    if($y->validate($arr)->create()){
      $y->add();
      $this->ajaxReturn("注册成功","eval");
    }else{
      $this->ajaxReturn($y->getError(),"eval");
    }
  }
}

2.对应控制器方法的html页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
<title>用户注册</title>
</head>
<body>
<br />
<br />
<br />
  <div>用户名:<input type="text" id="uid" /></div>
<br />  
  <div> 密码:<input type="text" id="pwd" /></div>
<br />
  <div> 名称:<input type="text" id="name" /></div>
<br />
  <div> 邮箱:<input type="text" id="email" /></div>
<br />
  <div>身份证号:<input type="text" id="age" /></div>
<br />
  <div><input type="button" id="dtn" value="提交" /></div>
</body>
<script type="text/javascript">
  $("#dtn").click(function(){
    var uid = $("#uid").val();
    var pwd = $("#pwd").val();
    var name = $("#name").val();
    var email = $("#email").val();
    var age = $("#age").val();
    $.ajax({
        url:"__CONTROLLER__/addchuli",
        data:{uid:uid,pwd:pwd,name:name,email:email,age:age},
        dataType:"TEXT",
        type:"POST",
        success: function(data){
          alert(data);
        }
    });
  });
</script>
</html>

以上所述是小编给大家介绍的Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP的中问验证码
Nov 25 PHP
一个图形显示IP的PHP程序代码
Oct 19 PHP
php 魔术方法使用说明
Oct 20 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
PHP发送短信代码分享
Aug 11 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP 实现重载
Mar 09 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 #PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 #PHP
记录一次排查PHP脚本执行卡住的问题
Dec 27 #PHP
PHP串行化与反串行化实例分析
Dec 27 #PHP
PHP 表单提交及处理表单数据详解及实例
Dec 27 #PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 #PHP
PHP实现表单提交时去除斜杠的方法
Dec 26 #PHP
You might like
PHP 中dirname(_file_)讲解
2007/03/18 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
php数组去重实例及分析
2013/11/26 PHP
php按单词截取字符串的方法
2015/04/07 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
javascript innerHTML使用分析
2010/12/03 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
django 创建过滤器的实例详解
2017/08/14 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
婚纱摄影师求职信
2014/03/07 职场文书
政府采购方案
2014/06/12 职场文书
中华魂放飞梦想演讲稿
2014/08/26 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
Python中22个万用公式的小结
2021/07/21 Python