【问题标题】:How to check the different variables from a PHP session_start() on local? [duplicate]如何从本地的 PHP session_start() 检查不同的变量? [复制]
【发布时间】:2021-04-21 10:02:53
【问题描述】:

在一个 PHP 文件中,我使用session_start() 启动了一个会话,然后我定义了一个会话变量$_SESSION["foo"]。如何在本地(在我的浏览器中)检查会话是否实际启动,$_SESSION["foo"] 的值是多少?

另一个问题:在这个PHP文件中,定义了一个变量$bar = "foo";。如何在本地(在我的浏览器中)检查$bar 的值?

(我是 PHP 新手。)

【问题讨论】:

标签: php


【解决方案1】:

您必须了解服务器端语言和客户端语言之间的区别。 PHP 是服务器端的,因此您的浏览器永远不会知道 PHP 代码中发生的任何事情,只要它没有返回给客户端(在这种情况下是浏览器)。

您可以更改您的代码(在服务器上!)以回显您希望在浏览器中看到的数据,如下所示:

echo $_SESSION["foo"];
echo $bar;

这会将相应变量的值发送给客户端。除此之外(或将数据发送到输出的其他方法,例如使用 var_dump()),您无法在浏览器中看到这些值!

现在关于会话的第一个问题有一点特殊性:虽然您不能直接在浏览器中“看到”会话,但在 PHP 的默认配置中,您将收到一个名为 @ 的会话 cookie 987654323@ 给您的客户。您可以由此推断,通过在响应标头中查找会话确实已启动。

【讨论】:

  • 确实,我在 Chrome DevTools 中看到了 cookie PHPSESSID。但我看不到它的细节(比如它的变量)。我在哪里可以找到响应标头?
  • 您只能在响应中获得 cookie,而不是会话内容(那些留在服务器上)。您可以在 Chrome DevTools 以及网络选项卡中找到响应标头。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 2011-01-01
  • 2020-01-07
  • 2011-08-25
  • 2020-10-18
  • 2013-03-30
相关资源
最近更新 更多