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下mysql数据库操作类(改自discuz)
Jul 03 PHP
PHP语言中global和$GLOBALS[]的分析 之二
Feb 02 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
php学习笔记之面向对象
Nov 08 PHP
php实现倒计时效果
Dec 19 PHP
php排序算法实例分析
Oct 17 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
PHP基于XMLWriter操作xml的方法分析
Jul 17 PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 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中GET变量的使用
2006/10/09 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
php中explode函数用法分析
2014/11/15 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python中处理时间的几种方法小结
2015/04/09 Python
详解Python中的各种函数的使用
2015/05/24 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
通过实例解析Python调用json模块
2019/12/11 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
大学毕业生通用自我评价
2014/01/05 职场文书
四风问题对照检查材料
2014/09/22 职场文书
销售2014年度工作总结
2014/12/08 职场文书
工程部经理岗位职责
2015/02/02 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
高中美术教学反思
2016/02/17 职场文书
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android