问答项目---登陆也要做验证!(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从头到尾的所有工作流程详解!
(一)项目启动前 从事产品的工作一年多,但自己一直苦于这样或者那样的困惑,很多人想要从事产品,或者老板自己创业要亲自承担产品一职,但他们对产品这个岗位的认识却不明晰,有的以为是纯粹的画原型,有的是以为 ...
随机推荐
- 30个实用的jQuery选项卡/导航教程推荐
很多网站设计中都使用了选项卡(tabs),在制作选项卡时应用jQuery能够实现很多炫酷的过渡和动画效果.本文为你介绍30个实用的jQuery选项卡教程,希望对你有帮助. 1. Animated Ta ...
- 使用rcp命令实现从远程机器拷贝文件
rcp:远程文件复制 使用rcp命令可以在远程主机之间复制文件,如果同时指定2个以上的文件或目录,且最后的目的地是一个已经存在的目录,则他会把前面指定的所有文件或目录复制到该目录中. rcp命令语法: ...
- MySQL 常用语法 之 UNION与UNION ALL
下面讲一下mySql中的union和union all 的功能以及区别 A union B 是将表A的数据和表B的数据连接成一张表,前提是查询的两张表的列数一定要一样否则出错. A union all ...
- e642. 处理拖放事件
The drop target in this example only accepts dropped String objects. A drop target must implement Dr ...
- 为什么要整合apache 和tomcat?
1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展. 2. Apache和Tomcat都可以做为独立的web服务器来运行,但是A ...
- 【Java面试题】52 java中会存在内存泄漏吗,请简单描述。
所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中.Java中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉.由于Jav ...
- MetaSploit Pro 下载地址
Windows: https://downloads.metasploit.com/data/releases/metasploit-latest-windows-installer.exe Linu ...
- Unity3d + PureMVC框架搭建
0.流程:LoginView-SendNotification()---->LoginCommand--Execute()--->调用proxy中的函数操作模型数据--LoginProxy ...
- Word公式装逼技巧,你绝对不会!
Word论文排版是非常有技术含量的.只是纯文本格式时都有很多技巧,累倒一群人,更不用说还加上有数学公式了.有数学公式也就算了,问题是公式排版更是难上加难.想要在人前装逼一把?没有这些技巧你是绝对不行的 ...
- laravel 使用验证码
1)php.ini需要开两个扩展 extension=php_fileinfo.dllextension=php_gd2.dll 2)使用composer安装类包 composer require m ...