I can't setcookie "headers already sent"

Possible Duplicate:
“Warning: Cannot modify header information - headers already sent by” error
setcookie, Cannot modify header information - headers already sent

I have this code to set cookie :

if (!isset($_COOKIE["CorkIU"])) {
setcookie("CorkIU", 2dd2ee3aUgsvoRye, time()+60*60*24*365, "/");
}

I have added this code in layout.php file

The first lines from layout.php file is

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<?
    include ("inc/css.php");

if (!isset($_COOKIE["CorkIU"])) {
setcookie("CorkIU", 2dd2ee3aUgsvoRye, time()+60*60*24*365, "/");
}

?>
<head>
<title>Welcome To Example</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<link href="style/default.css" rel="stylesheet" type="text/css">
</head>

and here is the error :

Warning: Cannot modify header information - headers already sent by (output started at /home/ex/public_html/template/layout.php:4) in /home/ex/public_html/template/layout.php on line 8

The error tells you everything you need to know:

headers already sent by (output

Move the call to setcookie to before you output any content (which you do here: <!DOCTYPE html )


From the PHP manual :

setcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like other headers, cookies must be sent before any output from your script (this is a protocol restriction). This requires that you place calls to this function prior to any output, including and tags as well as any whitespace.

链接地址: http://www.djcxy.com/p/34690.html

上一篇: 标题已发送错误

下一篇: 我不能setcookie“头已经发送”