【问题标题】:Cookie data not accessible from another page无法从其他页面访问 Cookie 数据
【发布时间】:2013-12-22 21:52:35
【问题描述】:

我会尽量简化这一点,并在需要时添加细节。

我有两个页面: A页和B页。

页面 A 已包含 drupal,我已登录。 B页没有drupal包含所以我没有登录。

在页面 A 中,我将字符串保存到 session/cookie 变量,然后发布到页面 B。

在页面 B 中,我想从 session/cookie 变量中检索信息,但是如果我对页面 B 中的这两个变量执行 var_dump,它什么也不会显示。

我怎样才能将我从页面 A 的会话/cookie 变量中保存的信息获取到页面 B 的会话/cookie 变量中?

编辑: 我做了一些进一步的测试并得出结论,它一定是 drupal 弄乱了 cookie - 我在同一台服务器上创建了页面,但不在 drupal 的目录中。只是常规的 php 页面。我在页面 A 中创建了一个 cookie,并使用 jquery 的帖子转到页面 B,我得到了 cookie 信息。

这在我最初陈述的 drupal 化页面 A 到非 drupal 页面 B 示例中不起作用。

我也尝试在drupal 的settings.php 中更改cookie_domain,但这也无济于事。我不知道我现在能做什么。有人有建议吗?

【问题讨论】:

  • 无论如何,cookie 都会被发送到页面 B,除非您有阻止它的路径/安全限制。
  • 嗯嗯,我正在用 sqlite DB 浏览器查看我的 cookie 文件,我看到 cookie 已使用页面 A 中的代码设置,但似乎页面 B 不认为 cookie 条目没有不存在。我不熟悉如何跟踪 cookie……你对 Marc 有什么建议吗?

标签: php session drupal cookies


【解决方案1】:

找到问题了!

http://php.net/setcookie

我必须将路径变量设置为 root

(例如:setcookie("TestCookie", $value, time()+3600, "/"))

为了从同一服务器上的另一个页面读取cookie,但不在同一目录中。

现在我将 cookie 设置为 root,服务器上的所有页面都可以访问该 cookie!

tl;dir:在一个目录中设置的 Cookie 信息不一定会被从另一个目录请求该 cookie 信息的页面看到,因此将 cookie 的路径设置为根目录或适当的目录,以便可以传递信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    相关资源
    最近更新 更多