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自动适应范围的分页代码
Aug 05 PHP
一些 PHP 管理系统程序中的后门
Aug 05 PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
php实现的数字验证码及数字运算验证码
Jul 30 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
用php如何解决大文件分片上传问题
Jul 07 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实现小型站点广告管理
2006/10/09 PHP
分享PHP入门的学习方法
2007/01/02 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
php中apc缓存使用示例
2013/12/25 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
python定义类self用法实例解析
2020/01/22 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
文明礼仪事迹材料
2014/01/09 职场文书
松材线虫病防治方案
2014/06/15 职场文书
公务员中国梦演讲稿
2014/08/19 职场文书
增值税发票丢失证明
2015/06/19 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python