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 mysql数据库操作分页类
Jun 04 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
php 的多进程操作实践案例分析
Feb 28 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
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
详解vue-cli3使用
2018/08/14 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python正则简单实例分析
2017/03/21 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
儿童学习python的一些小技巧
2018/05/27 Python
python保存数据到本地文件的方法
2018/06/23 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
轻松制作精彩视频:Animoto
2018/09/19 全球购物
顶岗实习计划书
2014/01/10 职场文书
元旦寄语大全
2014/04/10 职场文书
导航工程专业自荐信
2014/09/02 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript