php+ajax登录跳转登录实现思路


Posted in PHP onJuly 31, 2016

当我们的用户进行系统登录时,用户名和密码的验证都是后端验证的。而且,用户登录状态也是要后端设置的,查询数据库后,用户名和密码正确,则在session中存储一个uuid,每个页面需要根据登录状态判断展示相应的内容时,则判断是否有uuid这个session,且uuid不为空。比如头部的登录按钮,在未登录状态是显示登录按钮,在登录后显示用户名和头像,这些都是判断是否有uuid这个值(具体实现里,相对来说更复杂一些)。

我们再来理下这个步骤:

  1. 向后端ajax发送用户名和密码
  2. 后端接收到用户名和密码后,查询数据库
  3. 若查询失败,则返回一个json数据,如:{"status":"-1", msg:"用户名或密码不正确"}
  4. 若查询成功,则在session中存储一个值,比如uuid,然后向前端返回一个json,比如:{"status":"0", msg:"success"}
  5. 前端js接收到返回的数据后,判断status的值,若status==0,则使用window.location.href进行跳转;其他的状态码都是登录失败,清空密码框,让用户重新输入

比如登录成功跳转到首页,首页里的php或java,需要判断session里是否有uuid

<nav>
  <?php if(isset($_SESSION['uuid']) && !empty($_SESSION['uuid'])):; ?>
    <!-- 若存在uuid,则不为空,则表示已经登录 -->
    <a href="#">蚊子</a>
  <?php else ?>
    <!-- 没有登录 -->
    <input type="button" value="登录" />
  <?php endif; ?>
</nav>
PHP 相关文章推荐
php实现分页工具类分享
Jan 09 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
浅析THINKPHP的addAll支持的最大数据量
Feb 03 PHP
PHP异常处理浅析
May 12 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 PHP
php实现面包屑导航例子分享
Dec 19 PHP
PHP7匿名类用法分析
Sep 26 PHP
php is_writable判断文件是否可写实例代码
Oct 13 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 PHP
nginx下安装php7+php5
Jul 31 #PHP
header与缓冲区之间的深层次分析
Jul 30 #PHP
laravel学习教程之关联模型
Jul 30 #PHP
laravel学习教程之存取器
Jul 30 #PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 #PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 #PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 #PHP
You might like
php 什么是PEAR?(第二篇)
2009/03/19 PHP
Smarty变量用法详解
2016/05/11 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
nodejs对express中next函数的一些理解
2017/09/08 NodeJs
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
python cookielib 登录人人网的实现代码
2012/12/19 Python
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
Django与JS交互的示例代码
2017/08/23 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
机电专业毕业生求职信
2013/10/27 职场文书
采购文员岗位职责
2013/11/20 职场文书
暑期实践思想汇报
2014/01/06 职场文书
年度考核自我鉴定
2014/02/02 职场文书
联欢晚会主持词
2014/03/25 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
材料员岗位职责
2015/02/10 职场文书
小升初自荐信范文
2015/03/05 职场文书
小学班长竞选稿
2015/11/20 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
MySQL数据库之存储过程 procedure
2022/06/16 MySQL