2012-10-01 74 views
4

我試圖訪問我剛在同一個域的其他頁面中設置的cookie,但它不起作用。當我在做echo $_COOKIE時,新頁面上的數組爲空,但在創建頁面上包含cookie。PHP 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"); 

代碼但是,當我試圖isset cookie或僅在header.inc.php中顯示數組時,數組爲空。

+0

順便說一下,我在本地工作(localhost) –

+13

不要將密碼存儲在cookie中! –

+0

運行var_dump($ _ COOKIES)以顯示$ _COOKIES變量中的值,單獨運行打印不會告訴您數組的內容。 –

回答

11

您需要的cookie path值設置爲您的域的根,as per the docs

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

否則,將被設置爲當前工作目錄,這是/PROC/您的例子。因此,只有/PROC/中的腳本才能夠使用該cookie。