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 相关文章推荐
用户的详细注册和判断
Oct 09 PHP
PHP VS ASP
Oct 09 PHP
php FPDF类库应用实现代码
Mar 20 PHP
浅析PHP编程中10个最常见的错误
Aug 08 PHP
php实现事件监听与触发的方法
Nov 21 PHP
php程序内部post数据的方法
Mar 31 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 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连接Oracle for NT 远程数据库
2006/10/09 PHP
php ci框架验证码实例分析
2013/06/26 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
用JS剩余字数计算的代码
2008/07/03 Javascript
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
JavaScript 学习初步 入门教程
2010/03/25 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
jQuery实现本地存储
2020/12/22 jQuery
Python正则表达式匹配中文用法示例
2017/01/17 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
python实现在一个画布上画多个子图
2020/01/19 Python
利用python 读写csv文件
2020/09/10 Python
就业推荐自我鉴定
2013/10/06 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
青奥会口号
2014/06/12 职场文书
收款委托书
2014/10/14 职场文书
2014年会计工作总结
2014/11/27 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
python实现简单倒计时功能
2021/04/21 Python
nginx部署多前端项目的几种方法
2021/05/25 Servers
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
MySQL七大JOIN的具体使用
2022/02/28 MySQL