首页 > 解决方案 > 如何使用js获取会话的值

问题描述

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

标签: javascriptphpsessioncookies

解决方案


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

1)您可以制作一个 PHP 文件,它将格式化您的 $_SESSION 数据以及您想要的所有其他数据作为 JSON 字符串(json_encodePHP 语言中的函数)。然后使用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等)。我建议您使用其中之一。


推荐阅读