Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php读取javascript cookie_Javascript_Php - Fatal编程技术网

从php读取javascript cookie

从php读取javascript cookie,javascript,php,Javascript,Php,我有一项任务是比较产品列表中最多五种产品。为此 我采取了以下步骤: 步骤1: 单击每个产品的“添加以比较”按钮时设置onclick事件。在本例中,我使用以下代码通过javascript设置cookie // cookie is set by array because of we have to store 1 to 5 products var comparearray = [productid]; document.cookie = "compareitem" + "=" + compar

我有一项任务是比较产品列表中最多五种产品。为此 我采取了以下步骤:

步骤1:

单击每个产品的“添加以比较”按钮时设置onclick事件。在本例中,我使用以下代码通过javascript设置cookie

// cookie is set by array because of we have to store 1 to 5 products
var comparearray  = [productid];
document.cookie = "compareitem" + "=" + comparearray;
成功设置保存要比较的产品id的cookie值

步骤2:在我的PHP文件中,我尝试检索这个cookie值

$cookie_val = $_COOKIE['compareitem '];

但它没有起作用。我不知道这种观念是否值得。如果你知道,请告诉我如何解决我的问题。提前感谢。

因为有人在写你不能在PHP中使用JS设置的cookies,我现在就来回答这个问题

请尝试使用cookieSet和cookieGet函数,您可以使用以下答案中的函数:

请注意写入cookie的最后一个参数。。路径参数设置为“/”,因此根位置!在根位置使用php脚本,以便两者都使用根位置,而不是其他位置

接下来请尝试使用JSON字符串化数组

var cookiedata = JSON.stringify(comparearray);

然后,您应该能够使用PHP获取cookie并解析JSON以获取数组。

因为路径可能有问题,我建议使用扩展方式设置/获取cookie:

document.cookie=foo=bar;路径=/; 或者您可以使用此功能:

函数setCookie名称、值、过期、路径、域、安全{ document.cookie=名称+=+转义值+ 过期?;过期=+过期:+ 路径?;路径=+路径:+ 域?;域=+域:+ 安全?;安全:; }
你有没有试过用$u饼干来倒垃圾?这会返回什么?JS和PHP cookie是不同的东西。使用Ajax将数据发送到服务器并保存到$_COOKIE@Justinas谢谢你提供的信息。让我尝试一下其他解决方案??有时候,当js和php使用不同的路径时,我遇到了cookie问题。例如,js将路径设置为/和php尝试从当前路径读取cookie,可能是/products
var cookiedata = JSON.stringify(comparearray);