如何使用js获取会话的值

时间:2019-03-01 09:22:31

标签: javascript php session cookies

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

会话是服务器端的东西,您无法使用javascript访问它。您可以编写一个Http处理程序(如果有的话,将共享sessionid)并使用AJAX

从那里返回值。