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 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性

PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性

思维导图 索引: Ø Move Method(搬移函数) Ø Move Field (搬移值域) Ø Extract Class...

php格式化电话号码的方法

本文实例讲述了php格式化电话号码的方法。分享给大家供大家参考。具体分析如下: 这个函数只适用于美国电话,中国电话需要自己修改一下 function format_phone($ph...

PHP常用代码

<?   不能转向时用ob_start();加到头文件里  //写义全局变量  session_start();// 无法提交数据...

通过PHP的内置函数,通过DES算法对数据加密和解密

由于项目的需要,要写一个能生成“授权码”的类(授权码主要包含项目使用的到期时间),生成的授权码将会写入到一个文件当中,每当项目运行的时候,会自动读取出文件中的密文,然后使用唯一的“密钥”...

php有道翻译api调用方法实例

本文实例讲述了php有道翻译api调用方法,这里我们利用了file_get_contents函数直接读取由api返回的数据进行处理,分享给大家供大家参考。具体分析如下: 调用之前我们需申...