使用 PHP 获取/读取 Javascript cookie

Posted

技术标签:

【中文标题】使用 PHP 获取/读取 Javascript cookie【英文标题】:Get/Read Javascript cookie with PHP 【发布时间】:2014-04-19 02:11:16 【问题描述】:

我有一个理论问题..

我知道您可以使用 javascript 获取/读取 php cookie,方法是:document.cookie

在 PHP 中有类似的方法吗?

PHP 可以获取/读取在 JavaScript 中创建的 cookie 吗? 如果是,那你怎么做?

【问题讨论】:

您也可以在 PHP 中使用 setcookie 函数设置 cookie。真正发生的是响应将带有 cookie 标头;然后浏览器将存储 cookie。从现在开始,每个请求都将在请求标头中进行中继,PHP 和其他服务器端脚本会在其中访问之前存储的内容。 【参考方案1】:

您可以使用超全局$_COOKIE。只需像引用任何数组一样引用它,其中 $_COOKIE['key_name'] 是您要访问的 cookie。

请参阅PHP API documentation。

【讨论】:

所以我只需要使用 $_COOKIE['cookiename'] i 的 php 代码广告 php 将获取已在 JS 中设置的 cookie? this 对在 js 中设置 cookie 时使用正确的域有更多说明,供登陆这里的人使用【参考方案2】:

PHPglue 的答案很好,但有几个错别字。它也不会告诉您索引是什么,这会很有帮助。

foreach($_COOKIE as $key=>$value)

  echo "key: ".$key.'<br />';
  echo "value: ".$value.'<br />';
;

我的问题是我在 Javascript 中设置了名称中带有句点的 cookie。这些被转换为下划线。例如 cookie 名称,facebookLogin.myapp.com 被更改为 facebookLogin_myapp_com。运行上面的代码后,我可以看到名称与预期不同,并正确读取了 PHP 中的名称。

【讨论】:

【参考方案3】:

要查看它们,您可以这样做:

foreach($_COOKIE as $v)
  echo htmlentities($v, 3, 'UTF-8').'<br />';

对于单个 cookie,它只是:

echo htmlentities($_COOKIE['cookieName'], 3, 'UTF-8');

随意更改引用样式(3 为 ENT_QUOTES)和字符集以满足您的需要。

注意:cookie 必须设置在同一个域上才能访问它。

【讨论】:

【参考方案4】:

Javascript 可以通过两种方式(我知道)window.cookiedocument.cookie 设置 cookie。如果使用window.cookie php 无法评估cookie,则php 只能评估document.cookie 设置的cookie。

javascript

document.cookie = 'name=value';

PHP

print_r($_COOKIE);

您将在其中看到您的 javascript 创建的 cookie,以及其他由 php 创建的。

回声 $_COOKIE['name'];

使用 javascript 评估 php cookie 使用相同的document.cookie 来评估文档 (php) cookie 和使用 document.cookie 创建的 javascript cookie。

Javascript 只能评估 window.cookies 创建的 cookie

【讨论】:

【参考方案5】:

我认为这是在一个 cookie 中设置所有提示并在您的信息之间使用符号的好方法。然后在通过 JavaScript 设置 cookie 后在“PHP”中使用例如这个

$mystr = print_r($_COOKIE);
$way=explode(";",$mystr);

【讨论】:

以上是关于使用 PHP 获取/读取 Javascript cookie的主要内容,如果未能解决你的问题,请参考以下文章

php,JavaScript 如何读取并修改json文件?

如何使用PHP读取文本文件内容

从 google maps 地方 api 读取 json 文件(使用 javascript 或 php)

求JS如何读取PHP里的多维数组?

使用 Javascript 实时读取 PHP 数组的结果

php如何读取某目录下的所有同类型文件