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 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
php缓存技术详细总结
Aug 07 PHP
zf框架db类的分页示例分享
Mar 14 PHP
PHP正则提取不包含指定网址的图片地址的例子
Apr 21 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
Laravel4中的Validator验证扩展用法详解
Jul 26 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
PHP+Ajax简单get验证操作示例
Mar 02 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
介绍一些PHP判断变量的函数
2012/04/24 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
JQuery 风格的HTML文本转义
2009/07/01 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
python求众数问题实例
2014/09/26 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
Python基本语法经典教程
2016/03/11 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
中学生逃课检讨书
2015/02/17 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
python实现剪贴板的操作
2021/07/01 Python
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python