2011-09-23 114 views
1

爲什麼Cookies不在php中存儲信息?Cookie不在php中存儲信息?

即使在這種簡單的代碼..

<? 
    setcookie("test","Cookies teso"); 
    echo "My cookie value: ".$_COOKIE["test"]; 
?> 
+1

off主題:請注意,您應該使用長版PHP標籤 - 即'<?php'而不是'<?'。當前版本的PHP默認不允許使用較短版本,因此,您的代碼在某些PHP服務器上可能根本無法使用。 – Spudley

回答

6

它們將在下一頁加載。從documentation

餅乾不會變得可見,直到頁面 餅乾應該是可見的未來負載。要測試cookie是否成功設置,請在Cookie 過期之前檢查下一個加載頁面上的cookie。過期時間通過expire參數設置。通過簡單地調用 print_r($ _ COOKIE);來調試存在的Cookie的一個不錯的方法是 ;.

請注意,您需要設置餅乾任何其他腳本輸出之前完成:

像其他頭,餅乾必須發送之前任何輸出從您的 腳本(這是協議限制)。這要求您在任何輸出之前將 調用放入此函數,包括 標記以及任何空格。

5

頁面需要刷新。

$_COOKIE從腳本執行開始就從您的瀏覽器中擁有cookie。 setcookie()在瀏覽器中設置信息,但該信息尚未在$_COOKIE陣列中。它會在下一頁加載,雖然