0

我正在尝试从一个也可以在另一个文件夹中使用的文件夹创建 cookie。简单地做:

setcookie('favorite['.$id.']',1,time()+60*24*60*60,'/');

但它不起作用。Cookie 在创建的文件夹中可见,但在其他文件夹中为空。

我也试过:

setcookie('favorite['.$id.']',1,time()+60*24*60*60,ROOT);
setcookie('favorite['.$id.']',1,time()+60*24*60*60,HTTP_ADR);

ROOT = dirname(__FILE__)我的HTTP_ADR网站地址在哪里http://example.com/site

可能是由于这个数组的问题favorite['.$id.']吗?

更新:以这种方式使用echo count($_COOKIE['favorite'])

4

2 回答 2

1

奇怪的。/cookie/中的这个脚本傻瓜

<?
setcookie('foo[lol]', 1, time()+60*24*60*60, "/");

设置即使在根文件夹中也可以使用的 cookie。

因此,请确保没有任何内容会删除您在另一个文件夹中的 cookie。

编辑: php 无法读取包含括号的 cookie。但是浏览器可以。

EDIT2:不,它可以,但它认为它是数组。因此,要读取您的 cookie,请使用以下代码:

var_dump($_COOKIE['favorite'][$id]);
于 2012-07-03T06:13:10.303 回答
1

如果它不起作用,您可以将该 cookie 存储在会话中并可以使用该 cookie

<?php 
    session_start();
    if(isset($_COOKIE['cookiename']))
    {
        $_SESSION['cookie_name']= $_COOKIE['cookiename'];
    }
    echo $_SESSION['cookie_name'];
    ?>
于 2012-07-03T06:15:17.680 回答