我正在尝试从一个文件夹创建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'])
答案 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'];
?>