在不同的文件夹中设置cookie

时间:2012-07-03 06:01:22

标签: php cookies directory

我正在尝试从一个文件夹创建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_ADRhttp://example.com/site

中我网站的地址

是否可能是由于此数组favorite['.$id.']的问题?

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

2 个答案:

答案 0 :(得分:1)

奇怪。 这个脚本在/ cookie / foolder

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

设置cookie,即使在根文件夹中也能正常工作。

所以make shure什么都不会删除你在另一个文件夹中的cookie。

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

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

var_dump($_COOKIE['favorite'][$id]);

答案 1 :(得分:1)

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

<?php 
    session_start();
    if(isset($_COOKIE['cookiename']))
    {
        $_SESSION['cookie_name']= $_COOKIE['cookiename'];
    }
    echo $_SESSION['cookie_name'];
    ?>