【问题标题】:Echoing a variable in php gives one number and setting the variable to a cookie and evaluating the cookie gives another?在php中回显一个变量会给出一个数字并将变量设置为cookie并评估cookie会给出另一个?
【发布时间】:2011-05-28 19:47:26
【问题描述】:

我在一个名为 childnumber 的帖子数组中有一个变量,它是一个通过 ajax 帖子发送到服务器的 javascript 变量。在 php 脚本中它在这里:

$newValue = $_POST["childnumber"]+1;

我给它加了 1。在 php 脚本中回显 $newvalue 并通过 ajax 响应将其发送回客户端会在客户端 html 上提供正确的数字。但是如果我设置 cookie

setcookie($cookieName,$newValue);

在 php 中,而不是将其回显给客户端并检查 cookie 客户端,cookiename 是否正确,但新值每次都显示为“1”。那么如何让 cookie 的值成为回显给客户端的值呢?

谢谢

【问题讨论】:

  • 如何检查cookie中的值?
  • 我使用 firefox 手动检查客户端。

标签: php javascript ajax cookies


【解决方案1】:

据我了解您的流程,您发送一个异步请求,通过设置 cookie 来处理它,然后......您会发回什么?

我可能是错的(并且很高兴其他人的任何澄清),但 cookie 不是沿 http 标头设置的,因此在您“重新加载”或重定向到新/相同页面后可以访问吗?

【讨论】:

  • 没错,cookie 被设置了,下次用户重新加载页面客户端时,cookie 就可以访问了。如果我使用 firefox 手动检查 cookie,我可以看到它的值每次都设置为“1”。但是当我将变量回显给客户端时,它不是 1。
  • 澄清一下,当我设置 cookie 时,什么都没有发回。但我测试了回显 post 变量,它给 cookie 中的值返回一个不同的数字。
  • 我发现一个论坛帖子说,如果您通过 ajax 请求设置 cookie,您必须指定 cookie 的 PATH 和 EXPIRES 部分。见here
  • 你好。我已经指定了路径并过期了 cookie 的一部分,但仍然没有运气。 cookie 值仍然每次都设置为 '1',与我 echo 时的值不同。
  • 嗯嗯,我一直在摆弄东西,它开始工作了。我基本上删除了所有代码并再次编写它,现在它可以工作了(没有指定路径和过期,这很奇怪)。我一定是在某个地方搞错了。
猜你喜欢
  • 1970-01-01
  • 2019-01-12
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多