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获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
Array of country list in PHP with Zend Framework
Oct 17 PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
PHP7.0安装笔记整理
Aug 28 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
PHP count()函数讲解
Feb 03 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
prototype Element学习笔记(篇二)
2008/10/26 Javascript
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
python杀死一个线程的方法
2015/09/06 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
python 递归相关知识总结
2021/03/03 Python
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
拉丁舞学习者的自我评价
2013/10/27 职场文书
医生进修自我鉴定
2014/01/19 职场文书
个人工作表现评语
2014/04/30 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
2014年接待工作总结
2014/11/26 职场文书
2015年班干部工作总结
2015/04/29 职场文书
python基础之停用词过滤详解
2021/04/21 Python