php+ajax登录跳转登录实现思路

yipeiwu_com7年前PHP代码库

当我们的用户进行系统登录时,用户名和密码的验证都是后端验证的。而且,用户登录状态也是要后端设置的,查询数据库后,用户名和密码正确,则在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中通过语义URL防止网站被攻击的方法分享

什么是语义URL 攻击? 好奇心是很多攻击者的主要动机,语义URL 攻击就是一个很好的例子。此类攻击主要包括对URL 进行编辑以期发现一些有趣的事情。 例如,如果用户chris 点击了你...

PHP中鲜为人知的10个函数

PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用。这篇文章里,我列举了一些鲜为人知但会让你眼睛一亮的PHP函数。 levenshte...

PHP使用文件锁解决高并发问题示例

本文实例讲述了PHP使用文件锁解决高并发问题。分享给大家供大家参考,具体如下: 新建一个.txt文件,文件中什么都不用写。 【一】.阻塞(等待)模式:(只要有其他进程已经加锁文件,当前进...

php中大括号作用介绍

一、不管什么程序,function name(){}, for(){}, ….太多了,不说也知道做什么用了。 二、$str{4}在字符串的变量的后面跟上{}刚大括号和中括号一样都是把某个...

解析php做推送服务端实现ios消息推送

准备工作1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken)2.获取ck.pem文件(做手机端的给)3.获取pass phrase(...