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 更新数据库中断的解决方法
Jun 05 PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php根据指定位置和长度获得子字符串的方法
Mar 17 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
php微信开发之谷歌测距
Jun 14 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 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
咖啡常见的种类
2021/03/03 新手入门
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
php缓冲输出实例分析
2015/01/05 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
关于this和self的使用说明
2010/08/01 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
Vue中实现权限控制的方法示例
2019/06/07 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Sanic框架Cookies操作示例
2018/07/17 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
Python八皇后问题解答过程详解
2019/07/29 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python列表返回重复数据的下标
2020/02/10 Python
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
改革共识倡议书
2014/08/29 职场文书
二手车转让协议书
2015/01/29 职场文书
会议主持词通用版
2019/04/02 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis
Python OpenCV实现图像模板匹配详解
2022/04/07 Python