问答项目---用户注册的那些事儿(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 ...
随机推荐
- 可能是目前最完整的前端框架 Vue.js 全面介绍
Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架. 摘要 2016年最火的前端框架当属Vue.js了,很多使用过vue的程序员这样评价它,“vue.js兼具angul ...
- 消息中间件系列之Java API操作ActiveMQ
一.依赖 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activem ...
- Windoows窗口程序五
程序执行机制 过程驱动-程序的执行过程是按照预订好的顺序执行. 事件驱动-程序的执行是无序,用户可以根据需要随机触发相应的事件. Win32窗口程序就是采用事件驱动方式执行,也就是消息机制. 当系统通 ...
- 面向移动端的轻量级神经网络模型mobilenet、ShuffleNet
翻译: http://baijiahao.baidu.com/s?id=1565832713111936&wfr=spider&for=pc http://baijiahao.baid ...
- 修改MySQL的默认密码的四种小方法
投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-09-05我要评论 对于windows平台来说安装完MySQL后,系统就已经默认生成了许可表和账户,下文中就教给大家如何修改MyS ...
- winform程序_根据输入的sql生成excel(字段名与sql一致)
自己打开看吧 app.config可配置数据库路径 excel保存路径.... 源码下载链接: http://pan.baidu.com/s/1bnHPhdd
- JavaScript-事件冒泡简介及应用
一.什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事 ...
- javascript在字符串中提取网址并替换成超链接
var str = " http://wasmip.baidu.com.cn/mip/km/archives/km_archives_main/kmArchivesMain.do?metho ...
- JsonConvert.DeserializeAnonymousType
string JsApiTicketString = string.Empty; using (StreamReader reader = new StreamReader(response.GetR ...
- wsdl.exe的用法与参数说明
wsdl.exe的用法与参数说明 打开.net自己带的Visual Studio .NET 2003或 2005 命令提示 输入 wsdl /language:VB /n:mynamespace /o ...