2011-12-29 87 views
1

我正在使用CakePHP 1.2(舊站點)並試圖實現一個cookie。Cakephp 1.2 Cookie沒有正確保存

我在app_controller以下的Cookie聲明在beforeFilter()動作:

function beforeFilter() 
{ 
    $this->Cookie->name = 'MyCookie'; 
$this->Cookie->time = '10 Days`s'; 
//$this->Cookie->domain = ''; 
$this->Cookie->key = 'securitytoken'; 
} 

我已經在我的網頁(動作)下列操作之一:

$cookie = $this->Cookie->read('T1'); 
echo $cookie; 
echo $this->Cookie->read('T1'); 
echo 'a'; 

//set cookie so we can keep track of this 
if(empty($cookie)) 
{ 
    echo 'b'; 
$this->Cookie->write('T1', 'Y'); 
} 

echo 'c'; 
echo $this->Cookie->read('T1'); 
echo 'd'; 

當這是運行,輸出始終輸出:

abcYd 

當我第二次運行它時,它也輸出abcYd,這不應該發生。第二次,T1 cookie變量不應該爲空。怎麼了?

回答

0

Cookie必須在腳本輸出之前發送。嘗試刪除「回聲」的陳述,看看會發生什麼。

+0

我也嘗試過,並刪除了回聲,並首先創建了cookie ...我在想它與localhost /虛擬目錄有關 – cdub 2011-12-29 11:37:13

+0

我建議您在腳本開始時嘗試「error_reporting(E_ALL)」,以便檢查PHP是否有一些你看不到的麻煩。 – Orentet 2011-12-29 12:00:29

+0

我使用了php cookies,蛋糕的組件對我來說工作不正常 – cdub 2012-01-05 08:24:43

0

檢查您的網址是否包含任何#字符,然後先刪除它。