简单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']);
}

转载于:https://www.cnblogs.com/e0yu/p/7446055.html

问答项目---登陆也要做验证!(JS和PHP验证)相关推荐

  1. 问答项目---登陆验证码点击切换及异步验证验证码

    输出验证方法: public function verify(){$config = array('length' => 2,'reset' => false,'useCurve' =&g ...

  2. Ext.NET加入自定义验证JS函数

    ExtJS验证很方便,在使用FormPanel的时候,我们可以很方便的进行验证.比如设置必填项.正则.字段类型等等.比如如下所示: 上面的验证是这么写的: <Listeners><C ...

  3. ajax 用户验证js,js ajax验证用户名

    回答 jQuery的ajax 验证用户名的例子/验证用户名 js 方法 uname:输入的用户名 function ajax_check_uname(uname){ var url='/check/u ...

  4. vue项目 登陆逻辑 和 页面加载逻辑

    最近修改了俩个vue项目登陆逻辑,摸摸摸,三改四改,总结了一些思路: 文章目录 首先,理清好思路 1.什么样的情况下是登陆状态(初始化加载 => App.vue) 2. 没有登陆的情况下,项目的 ...

  5. 掌财社:html5中AmazeUI框架中JS表单验证实战案例展示!

    今天和大家分享个有关于"html5中AmazeUI框架中JS表单验证实战案例展示!"这方面的相关内容知识,让大家对于html5中AmazeUI框架也可以有所了解! 1.需求 做一个 ...

  6. php滑动拼图验证,JS实现PC手机端和嵌入式滑动拼图验证码三种效果

    PC和手机端网站滑动拼图验证码效果源码,同时包涵了弹出式Demo,使用ajax形式提交二次验证码所需的验证结果值,嵌入式Demo,使用表单形式提交二次验证所需的验证结果值,移动端手动实现弹出式Demo ...

  7. Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo

    Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...

  8. 全新的基于VVC思想的页面验证js框架vtor

    2019独角兽企业重金招聘Python工程师标准>>> Vtor 1.     概述  vtor是一个全新的解耦合页面验证js框架.根据全新的VVC思想(validator-view ...

  9. 手把手教你自己写一个js表单验证框架

    其实我自己也就能简单用用js而已,但是呢,相对很多初学者来说多懂了点Know How所以斗 胆孟浪一下,将一些所得记录下来,以供更多的初学者能够知道一个东西的实现过程,省去 在源码里摸索的过程. 在表 ...

最新文章

  1. Vue Router路由嵌套
  2. iOS学习:CAShapeLayer与DrawRect对比,与UIBezierPath画图形
  3. TCP协议中三次握手
  4. 简单批处理与多道批处理
  5. Android 8.0 学习(3)---Android Treble
  6. 闭包Closures
  7. Linux笔记(开机自动将kerne log保存到SD卡中)
  8. Mac翻译软件Mate Translate
  9. Python numpy中矩阵的用法总结
  10. 如何在 Windows Server 2003 中配置权威时间服务器
  11. String的intern()详解
  12. 个人企业信息多用户入驻智能电子名片小程序开发
  13. java获取网页源文件
  14. 【论文阅读】8-Non-local Scan Consolidation for 3D Urban Scenes
  15. 表示自己从头开始的句子_从头-一切从头开始的句子
  16. 用计算机画函数,用计算机画函数图像 优质课教案设计
  17. Transformer单目标跟踪
  18. PyQt5 登陆界面
  19. 流行病学名词解释和简答题集锦
  20. 《2022中国供应链物流创新科技报告》:菜鸟、顺丰、JDL、极智嘉、旷视、富勒、易流等超百家企业科技产品方案全公开!(附下载)...

热门文章

  1. python做动态相册_动感网页相册 python编写简单文件夹内图片浏览工具
  2. Linux代理后网页显示问题,项目部署到linux后出现的两个问题
  3. linux 中*与?结合起来的威力,匹配一个或者多个
  4. git查看相对于最新的push改动内容
  5. dropout与lstm的结合使用
  6. Leetcode-260. 只出现一次的数字 III
  7. opencv 罗曼滤波_勒罗曼杜罗伊
  8. Visual Studio中怎样更改Nuget程序包源
  9. SpringBoot中通过重写WebMvcConfigurer的addCorsMapping方法实现后台服务解决跨域问题
  10. ElementUI中的el-table怎样实现多选与单选