问答项目---用户注册的那些事儿(PHP验证)
JS 验证之后,还需要通过PHP验证:
提交过来的名称不一样,可以用字段映射:

在自动验证的时候,如果这个字段被映射,那么自动验证的时候,自动验证的就是 映射过后的字段;
控制器示例:
//注册表单处理
Public function register () {
if (!$this->isPost()) halt('页面不存在'); $db = D('User');
if (!$db->create()) {
$this->error($db->getError());
}
$username = $db->username;
if (!$uid = $db->add()) $this->error('注册失败,请重试...'); session('uid', $uid);
session('username', $username);
$this->success('注册成功,正在为您跳转...', __APP__);
}
自动验证模型示例:
<?php
/**
* 用户表操作模型
*/
Class UserModel extends Model { //字段映射
Protected $_map = array(
'pwd' => 'password'
); //自动验证
Protected $_validate = array(
array('account', 'require', '帐号不能为空'),
array('account', '/^[a-zA-Z]\w{6,19}$/s', '帐号格式不正确', 1, 'regex'),
array('account', '', '帐号已存在', 1, 'unique'),
array('username', 'require', '用户名不能为空'),
array('username', '/^[\x80-\xff\w]{2,14}$/s', '用户名格式不正确', 1, 'regex'),
array('username', '', '用户名已存在', 1, 'unique'),
array('password', 'require', '密码不能空'),
array('password', '/^\w{6,20}$/s', '密码格式不正确'),
array('pwded', 'password', '两次密码不一致', 1, 'confirm')
); //自动完成
Protected $_auto = array(
array('password', 'md5', 1, 'function'),
array('logintime', 'time', 1, 'function'),
array('loginip', 'get_client_ip', 1, 'function'),
array('registime', 'time', 1, 'function')
);
}
?>
问答项目---用户注册的那些事儿(PHP验证)的更多相关文章
- 问答项目---用户注册的那些事儿(JS验证)
做注册的时候,由于每一个页面都有都要可以注册,可以把注册方法写到一个公用的方法里去,其他方法继承这个方法: 简单注册JS示例: <script type='text/javascript'> ...
- SSM项目使用拦截器实现登录验证功能
SSM项目使用拦截器实现登录验证功能 登录接口实现 public User queryUser(String UserName, String Password,HttpServletRequest ...
- 问答项目---登陆也要做验证!(JS和PHP验证)
简单JS示例: var login = $( 'form[name=login]' ); login.submit( function () { if (validate.loginAccount & ...
- 34 Flutter仿京东商城项目 用户注册 注册流程 POST发送验证码 倒计时功能 验证验证码
加群452892873 下载对应34课文件,运行方法,建好项目,直接替换lib目录 以下列出的是本课涉及的文件. RegisterFirst.dart import 'package:flutter/ ...
- koa2+mysql+vue实现用户注册、登录、token验证
说明: node.js提供接口,vue展现页面,前后端分离,出于编辑器功能和编辑习惯,vue用HbuilderX,node.js用VScode.(PS:仅作为学习笔记,如有不当之处欢迎指出,在此先谢为 ...
- 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题
项目里有些不同页面间的日期显示格式是不同的, 第一个问题: 比如我用日期控件WdatePicker.js导包后只需在input标签里加上onClick="WdatePicker()" ...
- SpringBoot项目中,表单的验证操作
在创建Springboot项目中,我们使用了表单验证操作,这一操作将极大地简化我们编程的开发 1.接收数据,以及验证 @PostMapping("/save") public Mo ...
- .Net Core3.0 WebApi 项目框架搭建 四:JWT权限验证
.Net Core3.0 WebApi 项目框架搭建:目录 什么是JWT 根据维基百科定义,JWT(读作 [/dʒɒt/]),即JSON Web Tokens,是一种基于JSON的.用于在网络上声明某 ...
- 【原创】贡献一个项目中用到的js身份证验证-超级准!!!
前言 百度百科解释:身份证号码 首先贡献一个大神的链接:js验证身份证超准 代码 function checkIdcard(idcard) { var Errors = new Array( &quo ...
随机推荐
- W/MessageQueue: Handler (android.os.Handler) {4241f8f8} sending message to a Handler on a dead thread
缩略信息是: sending message to a Handler on a dead thread 我是用IntentService时报的 稍微纤细一点儿的信息是: Handler (andro ...
- struct iphdr中的__LITTLE_ENDIAN_BITFIELD和__BIG_ENDIAN_BITFIELD
__LITTLE_ENDIAN_BITFIELD表示小端序,__BIG_ENDIAN_BITFIELD表示大端序. /usr/include/linux/ip.h中有一段代码定义了ip首部的结构体,例 ...
- navicat上如何导出视图,函数等
如何导出视图,函数,一般通过linux命令行,如果简单点就用navicat把. image.png 这样函数,视图都可以导出来后续更新.....
- 将Excel中读取的科学计数法表示的Double数据转换为对应的字符串
已在SegmentFault提问,目前没有答案,自行实现如下: private static String getRealNumOfScientificNotation(String doubleSt ...
- php中一些常用的语句收集
清空数据表 truncate 表名; http://blog.knowsky.com/234205.htm 常用的SQL语句实例 http://blog.csdn.net/vericlong ...
- mysql中,now()函数和sysdate()函数有什么区别?
问题描述: 今天在看mysql的时间函数,now()和sysdate(),记录下两者之间有什么不同. 实验过程: 1.执行以下的两个语句: mysql),now(); +--------------- ...
- 世纪佳缘信息爬取存储到mysql,下载图片到本地,从数据库选取账号对其发送消息更新发信状态
利用这种方法,可以把所有会员信息存储下来,多线程发信息,10秒钟就可以对几百个会员完成发信了. 首先是筛选信息后爬取账号信息, #-*-coding:utf-8-*- import requests, ...
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测
->use Admin (切换到创建用户) ->db.TestDb (创建数据库) ->db.addUser(“userName”,”Pwd”) ...
- Collabration Web Application Screenshot(English Language) Free download now!
The screenshots of english language version collabration web application which is as following: Incl ...
- DM8168 PWM驱动与測试程序
昨天把DM8168的Timer设置给摸了一遍,为写PWM的底层驱动做好了准备,如今就要进入主题了. dm8168_pwm.c: #include <linux/module.h> #inc ...