问答项目---登陆也要做验证!(JS和PHP验证)
简单JS示例:
var login = $( 'form[name=login]' );
login.submit( function () {
if (validate.loginAccount && validate.loginPwd) {
return true;
}
$( 'input[name=account]', login ).trigger('blur');
$( 'input[name=pwd]', login ).trigger('blur');
return false;
} );
$( 'input[name=account]', login ).blur( function () {
var account = $( this ).val();
var span = $( '#login-msg' );
if (account == '') {
span.html( '请填入帐号' );
validate.loginAccount = false;
return;
}
} );
$( 'input[name=pwd]', login ).blur( function () {
var account = $( 'input[name=account]', login ).val();
var pwd = $( this ).val();
var span = $( '#login-msg' );
if (pwd == '') {
span.html( '请填写密码' );
validate.loginPwd = false;
return;
}
if (account == '') {
span.html( '请填入帐号' );
validate.loginAccount = false;
return;
}
var data = {
account : account,
password : pwd
};
$.post(CONTROL + 'checkLogin', data, function (status) {
if (status) {
span.html( '' );
validate.loginAccount = true;
validate.loginPwd = true;
} else {
span.html( '帐号或密码不正确' );
validate.loginAccount = false;
validate.loginPwd = false;
}
}, 'json');
} );
异步验证:
//异步验证登录帐号与密码
Public function checkLogin () {
if (!$this->isAjax()) halt('页面不存在'); $account = $this->_post('account');
$where = array('account' => $account); $pwd = M('user')->where($where)->getField('password');
if (!$pwd || $pwd != $this->_post('password', 'md5')) {
echo 0;
} else {
echo 1;
}
}
登录表单处理:
//登录表单处理
Public function login () {
if (!$this->isPost()) halt('页面不存在'); $db = M('user');
$where = array('account' => $this->_post('account'));
$field = array('id', 'username', 'password', 'logintime', 'lock');
$user = $db->where($where)->field($field)->find(); if (!$user || $user['password'] != $this->_post('pwd', 'md5')) {
$this->error('帐号或密码错误');
} if ($user['lock']) {
$this->error('帐号被锁定');
} if (isset($_POST['auto'])) {
$value = $user['id'] . '|' . get_client_ip() . '|' . $user['username'];
$value = encrytion($value, 1);
@setcookie('auto', $value, C('AUTO_LOGIN_LIFETIME'), '/');
} //每天登录增加经验
$today = strtotime(date('Y-m-d'));
$where = array('id' => $user['id']);
if ($user['logintime'] < $today) {
$db->where($where)->setInc('exp', C('LV_LOGIN'));
} $db->where($where)->save(array('logintime' => time())); session('uid', $user['id']);
session('username', $user['username']);
redirect($_SERVER['HTTP_REFERER']);
}
问答项目---登陆也要做验证!(JS和PHP验证)的更多相关文章
- 问答项目---登陆账号密码登陆做AJAX异步校验
异步验证管理员帐号方法: /* 异步验证管理员帐号 */ public function checkAccount(){ if(!IS_AJAX){echo "页面不存在";die ...
- 问答项目---用户注册的那些事儿(JS验证)
做注册的时候,由于每一个页面都有都要可以注册,可以把注册方法写到一个公用的方法里去,其他方法继承这个方法: 简单注册JS示例: <script type='text/javascript'> ...
- Ext.NET加入自定义验证JS函数
ExtJS验证很方便,在使用FormPanel的时候,我们可以很方便的进行验证.比如设置必填项.正则.字段类型等等.比如如下所示: 上面的验证是这么写的: 1 2 3 <Listeners> ...
- jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- jquery validate.js表单验证的基本用法入门
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript&quo ...
- 【转】jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- [转]jquery.validate.js表单验证
原文地址:https://www.cnblogs.com/si-shaohua/p/3780321.html 一.用前必备官方网站:http://bassistance.de/jquery-plugi ...
- 转:jquery validate.js表单验证
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码代码如下: <script type="text/javascript" ...
- 看完你也能独立负责项目!产品经理做APP从头到尾的所有工作流程详解!
(一)项目启动前 从事产品的工作一年多,但自己一直苦于这样或者那样的困惑,很多人想要从事产品,或者老板自己创业要亲自承担产品一职,但他们对产品这个岗位的认识却不明晰,有的以为是纯粹的画原型,有的是以为 ...
随机推荐
- 统一建模语言 UML (2)
UML的图 1.用例图(use case diagram) 用例图(Use Case Diagram)是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图 列出系统中的用例和参与者 显示 ...
- C++ 判断
C++ 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). #include <iostream> /* ru ...
- 【转】IIS日志-网站运维的好帮手
对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情. 有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的. 还有些时候,我们希望不断地优化网站,让网站更快速的 ...
- (转)windows下编译最新的x264
二:<windows下编译最新的x264> X264更新的比较快,每天都有更新,但算法模块,基本结构是没有多大变化的.x264都是用C语言写的包括C99,但C99语法是在VC中是没法用的( ...
- [转]MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题
问题描述: 从一台Linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.x ...
- 開始学习swift,资料汇总帖
最近開始学习swift,以后mac和ios开发就指望它,曾经学oc半途而废了.主要原因是oc等语法实在能适应,如今有swift了.语法有js,scala,python,c++,oc等语言的影子,又一次 ...
- CentOS安装Emacs文本编辑器
我这里安装的是:emacs.24.2 下载地址:http://ftp.gnu.org/pub/gnu/emacs/emacs-24.2.tar.gz 下载文件:emacs-24.2.tar.gz 步骤 ...
- asp.net 后端验证
using EntryRegistration.Filters; using EntryRegistration.Models.Entity; using System; using System.C ...
- 【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问: 抽象类是否可继承实体类 (concrete class) 答: 抽象类是 ...
- PHP利用memcache缓存技术提高响应速度
PHP下memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问.memcache也提供用于通信对话(sessio ...