【问题标题】:Remember authenticated user when switching between site's pages在站点页面之间切换时记住经过身份验证的用户
【发布时间】:2013-03-16 23:39:43
【问题描述】:

当用户登录时,我发送一个 ajax 请求,如果密码和登录名正确,我会收到用户名和姓氏作为响应。所以我展示了用户的菜单,我在其中插入了他的名字和姓氏。但是如果用户点击指向我网站另一个页面的链接怎么办? 所以我决定将用户的信息存储在 cookie 中。但我认为这不是一个好主意。是否有另一种方法可以做到这一点而不必干扰后端逻辑?

【问题讨论】:

  • 我认为你可以使用 SESSION 。浏览 PHP 文档。
  • 完全同意 php 会话可能最有意义,但 OP 指定“不必干扰后端逻辑”,即我认为他正在寻找前端解决方案

标签: php javascript ajax cookies


【解决方案1】:

用它来设置密码:

session_start();
$_SESSION['password'] = $password;

用这个来找回密码:

$password = $_SESSION['password'];

当您网站的所有选项卡关闭时,所有会话变量都将被清除。

【讨论】:

    【解决方案2】:

    使用会话在页面之间“记住”用户。像这样:

    用户登录并且您有数据,例如 $_POST['username'];

    所以在每个页面上你都需要添加

    session_start();
    

    这样会话就被初始化了。然后你可以像这样向你的会话添加一些数据:

    $_SESSION['username'] = $_POST['username'];
    

    现在在下一页你需要做的就是引用会话变量来找出用户是谁:

    session_start();
    if (isset($_SESSION['username'])){
        echo "Welcome ". $_SESSION['username'];
    }else{
        echo "Please log in!";
    }
    

    希望能帮助您入门。有关会话的更多详细信息,请参见此处:http://www.php.net/manual/en/reserved.variables.session.php

    享受吧!

    【讨论】:

      猜你喜欢
      • 2020-11-15
      • 2018-01-07
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 2012-03-03
      相关资源
      最近更新 更多