用PHP获取cookie值?

我在jQuery中创建cookie。 我可以在Firefox中validation它。 但是当我尝试打印cookie或分配到另一个值时,我无法得到它。 我也使用会话。 我用PHP开始会话。 我打印或分配cookie值的代码如下所示

echo $_COOKIE['a']; 

用于分配值

 $b=$_COOKIE['a']; 

使用jQuery创建的cookie是

 $.cookie("a",$(this).val()); 

我在哪里弄错了? 我怎样才能获得cookie值?

完全可以在没有jQuery的情况下在PHP中设置cookie。

..然而…

看来你正在以这种方式使用jQuery 。

可能导致问题的原因有以下几点:

a) $(this).val()可能返回NULL。

b)您没有在cookie上设置路径和到期日。 如果您有子目录,通常最好设置一个路径为'/'路径。

要使用PHP读取您的cookie,请尝试以下操作…

  $cookies = explode(';', $_SERVER['HTTP_COOKIE']); 

…并在数组中搜索"a" cookie。

关于使用完全PHP设置和阅读cookie的更多文档,请点击此处。

在将任何其他代码回显到页面之前,必须调用此函数。 (在标题之前)

要在PHP中设置cookie的值,请使用setcookie函数:

 setcookie("a", "foobar"); 

但是,这样做需要在输出到客户端之前运行代码(并发送HTTP头。所以基本上,你不能这样做:

 

Here's my cookie!

在拥有任何HTML之前,您需要调用setcookie

此外,如果您在客户端上设置cookie值,则需要从该客户端发出请求以获取cookie值。 如果您只是在服务器上运行任意代码,则客户端不会重新发送它的cookie。

最后,服务器正在处理的页面和JS所在的页面需要位于同一个域中。 如果不是,浏览器不会发送相应的cookie。

希望这可以帮助!

看起来很好。 要调试此问题,请尝试:

 var_dump($_COOKIE); 

并且:

在Javascript中列出Cookie