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 Static关键字实用方法
Jun 04 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 PHP
php异常处理方法实例汇总
Jun 24 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
Laravel最佳分割路由文件(routes.php)的方式
Aug 04 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP解决中文乱码
Apr 28 PHP
php实现的双色球算法示例
Jun 20 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP正则表达式之RCEService回溯
Apr 11 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
IStream与TStream之间的相互转换
2008/08/01 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
JavaScript 格式字符串的应用
2010/03/29 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
vue中$refs的用法及作用详解
2018/04/24 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
django框架中间件原理与用法详解
2019/12/10 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
python3判断IP地址的方法
2021/03/04 Python
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
岳父生日宴会答谢词
2014/01/13 职场文书
投资合作协议书
2014/04/17 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
七一建党节演讲稿
2014/09/11 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
国际贸易实训报告
2014/11/05 职场文书
扬州个园导游词
2015/02/06 职场文书
2015年实习单位评语
2015/03/25 职场文书
团委工作总结2015
2015/04/02 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python