2013-06-04 42 views
1

我有2個文件,的index.phpcontent.php retrievie值...未能從PHP餅乾

content.php設置一個cookie,但是當我試圖在index.php檢索該cookie,它表示undefined index ...

我知道這個error的原因!

我使用這個代碼來設置cookie-

$loader = $_GET['id']; 
$expire=time()+60*60*24*365; 
setcookie("loader", $loader, $expire); 

這對於retriving-

if (isset($_COOKIE["loader"])) echo $_COOKIE["loader"]; 
else echo "no cookie found !"; 

請幫我傢伙!

+0

顯示您的完整錯誤。 –

+0

如果你有'isset()'檢查,你不應該得到一個錯誤。 – Barmar

+0

在設置cookie的腳本中,確保在調用'setcookie()'之前沒有輸出任何東西。 – Barmar

回答

1

EDIT2:

如果你得到這個錯誤「未定義指數」,這意味着你的$ _GET [「身份證」]設置不正確。確保你已經設置了$ _GET ['id'];當設置cookie時。

$loader = $_GET['id']; 
$expire=time()+60*60*24*365; 

if(isset($_GET['id'])){ 
setcookie("loader", $loader, $expire, '/'); 
}else{ 
echo 'no cookie set'; 

編輯:

當你設置你首先必須在你讀它刷新網頁的Cookie。否則cookie不會在標題中發送。


只需添加一個路徑到您的Cookie是這樣的:

$loader = $_GET['id']; 
$expire=time()+60*60*24*365; 
setcookie("loader", $loader, $expire, '/'); 

注意:我已經添加了'/'

希望它能幫助。

+0

這不應該是如果兩個腳本都在同一個目錄中,則需要使用它 – Barmar

+0

你有沒有嘗試刷新頁面之前閱讀te cookie? –

+0

是的兩個腳本都在相同的目錄@Barmar –

1
if(isset($_REQUEST['id'])) { 
    setcookie('loader',$_REQUEST['id'],time()+60*60*24*365, '/'); 
} else { 
    setcookie('loader','',time()-3600, '/'); 
    unset($_COOKIE['loader']);   
} 


if(isset($_COOKIE['loader']) && $_COOKIE['loader'] != "") {  
    echo $_COOKIE['loader']; 
} else { 
    echo "no cookie found !"; 
} 
+0

我已經成功設置cookie,因爲我可以從** opera的cookie管理器**中看到它,但是當試圖獲取** index.php **中的數據時,則表示未定義索引 –

+0

@ vikram這工作正常..我自己已經嘗試過它。它可能是一個PHP版本的問題。你正在使用什麼版本? –

+0

我使用的PHP版本5.3.9,反正Ritika我得到了我的答案... thanx評論.... :-) –