2010-06-24 65 views
1

我在我的页面上的锚点击设置cookie:我试图找回获取饼干PHP

$_COOKIE['bookmarklet_twitter_signin'] 

但奇怪的是我”

$("#btn_twitter_signin").click(function() { 
    $.cookie("bookmarklet_twitter_signin", "true"); 
}); 

,并在服务器端m得到一个“未定义的索引:bookmarklet_twitter_signin”,虽然我确信通过从Firefox View Page Info检查cookie是正确保存的,我错过了什么吗?

谢谢。

叶海亚A.Salam

+3

做var_dump($ _ COOKIE),看看你看到了什么 – 2010-06-24 00:31:01

回答

2

这可能与路径做,试试:

$("#btn_twitter_signin").click(function() { 
    $.cookie("bookmarklet_twitter_signin", "true", {path: '/'}); 
}); 
+0

同意。它也可能与设置cookie时使用的域名以及您用来访问后续PHP脚本的域名有关。你也可以指定你的域名(域名:'.domain.com')。 – TomWilsonFL 2010-06-24 00:35:14

+0

就像一个魅力 – 2010-06-24 20:31:06

1

的PHP将无法取回设置cookie的,直到页面重新加载。 PHP,因为它是服务器端,只在页面加载时运行一次。所以如果你在页面加载后更改cookie,你的PHP已经运行。

这意味着您需要为PHP重新加载页面以查看由Javascript设置的Cookie。

您必须使用JQuery易于使用的AJAX体系结构才能在不刷新页面的情况下执行此操作。

使用var_dump($ _ COOKIE)(如itay说)或print_r($ _ COOKIE)打印所有使用PHP的cookie。你将能够看到发生了什么。

+0

只需注意cookie是所有客户端并随每个请求一起发送,因此如果cookie正确设置为JS,那么它应该随任何后续HTTP请求一起发送。 – TomWilsonFL 2010-06-24 00:37:43

+0

我想我的解释不是很好。希望我澄清一下。 – 2010-06-24 00:42:03