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读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
php根据分类合并数组的方法实例详解
Nov 06 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
php使用curl打开https网站的方法
Jun 17 PHP
ThinkPHP控制器详解
Jul 27 PHP
php无序树实现方法
Jul 28 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
php数组遍历类与用法示例
May 24 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 PHP
PHP使用redis位图bitMap 实现签到功能
Oct 08 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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 fseek函数读取大文件两种方法
2016/10/12 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
web打印小结
2017/01/11 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
nodejs log4js 使用详解
2019/05/31 NodeJs
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
Python发送email的3种方法
2015/04/28 Python
Python变量赋值的秘密分享
2018/04/03 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python字典的常用方法总结
2019/07/31 Python
Python3如何判断三角形的类型
2020/04/12 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
商务助理岗位职责
2013/11/13 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
初一地理教学反思
2014/01/16 职场文书
初中科学教学反思
2014/01/21 职场文书
运动会广播稿500字
2014/01/28 职场文书
公司总经理任命书
2014/06/05 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
总结python多进程multiprocessing的相关知识
2021/06/29 Python