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 动态添加记录
Mar 10 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
php对象和数组相互转换的方法
May 12 PHP
PHP图像处理类库及演示分享
May 17 PHP
关于PHP开发的9条建议
Jul 27 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
php实现网页端验证码功能
Jul 11 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 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 日期时间处理函数小结
2009/12/18 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
PHP版QQ互联OAuth示例代码分享
2015/07/05 PHP
php代码架构的八点注意事项
2016/01/25 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
Javascript string 扩展库代码
2010/04/09 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
2016/06/23 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
Python中防止sql注入的方法详解
2017/02/25 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
美国最大的烧烤架和户外生活用品专业零售商:Barbeques Galore
2021/01/09 全球购物
元旦红领巾广播稿
2014/02/19 职场文书
高中军训感想800字
2014/02/23 职场文书
《社戏》教学反思
2014/04/15 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书
驻村工作简报
2015/07/20 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis