2013-06-29 48 views
-1

我完全新的PHP(只是最近開始學習),我面臨着餅乾警告:不能更改頭信息 - 頭已經發出(輸出開始/應用/ XAMPP/

這裏是一個問題錯誤/警告我越來越:

Warning: Cannot modify header information - headers already sent by (output started at /Applications/XAMPP/xamppfiles/htdocs/cookies.php:5) in /Applications/XAMPP/xamppfiles/htdocs/cookies.php on line 5 

一切我已經寫了裏面的文件是這樣的:

<body> 
<?php 
setcookie('test', 45, time()+(60*60*24*7)); 
?> 
</body> 

**我使用XAMP在Mac

任何想法爲什麼發生這種情況,我該如何解決/處理它?

感謝,

+0

將'setcookie'移動到文件的頂部。 :P –

回答

0

肯定的,因爲<body>是的setcookie之前。 setCookie方法需要拿出第一

<?php 
setcookie('test', 45, time()+(60*60*24*7)); 
?> 
<body> 
</body> 

http://php.net/setcookie

setcookie()函數定義將與HTTP頭的其餘部分一起被髮送的cookie。與其他標題一樣,Cookie必須在腳本輸出 之前發送(這是一個協議限制)。此 要求您在任何輸出之前調用此函數, 包括標記以及任何空格。

0

使用它沒有任何空間。你需要在你的代碼的最頂部聲明​​它們。與header("location:xyz.php")發生同名事情。所以請記住,以備將來使用。

<?php 
    setcookie('test', 45, time()+(60*60*24*7)); 
    ?> 
<body> 
//Your code here 
</body> 
0

標題必須在任何輸出之前發送。 Cookie將發送到標題中。

相關問題