【问题标题】:How to get the values of session using js如何使用js获取会话的值
【发布时间】:2019-07-23 07:13:42
【问题描述】:

我想知道用户是否登录,然后根据用户名显示不同的导航元素(通过电子邮件登录和密码不是用户名)。但是,我不知道如何处理会话。如果 php 和 html 在两个文档中分开,我如何在 php 文档中使用 session 存储所需的值,然后在 html 文档中使用 javascript 获取它们?还是应该改用 cookie?

【问题讨论】:

  • 您是否尝试过使用 document.cookie,然后查找 PHPSESSID 或您用来命名 cookie 的任何键?
  • @VictorH.Avelar 还没有。到目前为止,我只尝试使用会话。

标签: javascript php session cookies


【解决方案1】:

会话是服务器端的东西,你不能使用 javascript 访问它。您可以编写一个 Http 处理程序(如果有的话,它将共享 sessionid)并使用 AJAX 从那里返回值

【讨论】:

    【解决方案2】:

    有几种方法可以做到这一点。

    1) 您可以制作一个 PHP 文件,它将您的 $_SESSION 数据以及您想要的所有其他数据格式化为 JSON 字符串(PHP 语言中的json_encode 函数)。然后使用echo 将其返回。然后使用 AJAX 请求从 javascript 或 JQuery 获取此文件,您将收到您想要的数据。在我看来,这是一个糟糕的方法,因为在加载页面后,您发送另一个请求以接收静态数据,该数据不会像电子邮件或用户名那样在页面上更改。

    2) 更好的方法:PHP 是预处理器超文本。您可以制作一个 php 文件并在其中写入 html 标签,并带有 php 输出(例如:<div><?=$_SESSION['email']?></div>)。在 google 中搜索更多信息(“php inside html”)。

    3) 好多了。在现代 Web 编程世界中,在 html 中使用 php 是一个错误,因为您不仅应该考虑如何使某些东西工作,还应该考虑在 3、6、12 个月后如何维护它。如果您在一个大项目中只在 html 中使用 php,那么随着时间的推移,您会意识到您的代码很难阅读并且看起来很丑陋。有些插件可以使您的视图更具可读性和可维护性(Twig、Blade、Volt 等)。我建议您使用其中之一。

    【讨论】:

      猜你喜欢
      • 2013-07-16
      • 1970-01-01
      • 2015-01-23
      • 2012-02-02
      • 2014-07-29
      • 1970-01-01
      • 2020-07-13
      • 2022-11-08
      • 2023-03-07
      相关资源
      最近更新 更多