2011-10-20 132 views
1

如果我運行此:PHP的cookie未設置

$today = date('Y-m-d H:i:s'); 
$expire = time()+(20*60); 
$ssid = md5(rand()*1000000000); 
setcookie('id', $ssid, $expire) or die("couldn't set cookie. login failed."); 

它總是死。任何想法爲什麼?

+1

嘗試沒有或死(「無法設置cookie。登錄失敗。」),看看你會得到什麼錯誤 –

回答

9

您必須在做任何其他產生輸出的設置之前設置cookie。一旦HTTP頭被髮送,設置cookie就太遲了。

+1

擴大:如果輸出已經輸出,setcookie()將會返回false的唯一原因是已經送走了。 – animuson

+0

感謝這工作! – bluewhile

1

應該在任何事情之前設置cookie標頭。刪除die()函數,你應該得到一個headers already sent錯誤。