PHP Cookie不起作用

时间:2012-10-01 17:17:14

标签: php cookies

我试图访问我刚刚在同一个域名的其他页面中设置的Cookie,但它不起作用。当我执行echo $_COOKIE时,数组在新页面上为空,但在创建页面上包含cookie。

以下是/PROC/LOGIN.PROC.PHP

中的代码
//Set the cookie for 1 year.
setcookie("username", $username, time()+365*24*60*60);
setcookie("password", $password, time()+365*24*60*60); 

这里是/INC/HEADER.INC.PHP

中的代码
if (isset($_COOKIE['username']) && isset($_COOKIE['password'])) {
include("pages/user.header.pages.php");

但是,当我试图设置cookie或仅在header.inc.php中显示数组时,数组为空。

2 个答案:

答案 0 :(得分:12)

您需要将Cookie的path值设置为您域的根as per the docs

setcookie("username", $username, time()+365*24*60*60, '/');

否则,它将被设置为当前工作目录,例如/PROC/。因此,只有/PROC/中的脚本才能使用该Cookie。

答案 1 :(得分:0)

签出,您的PHP setcookie定义在声明HEAD之前完成。如果不是,则不存储cookie。

因此,在发送标题或其他HTML实体之前,请在代码开头控制cookie。