Php Doc说:
“请记住,在发送任何实际输出之前必须调用
header()
,可以是普通的HTML标记,文件中的空白行,也可以是 PHP“
“这要求您在任何之前拨打
setcookie()
输出,包括和标签以及任何空格。“
我理解上述要求的重要性,但下面的代码如何运行而不会抛出"Headers already Sent"
错误?
<html>
<body>
<h1>Hey</h1>
<?php
echo "Hello";
setcookie("hey","hellocookie");
//header("Pragma: no-cache");
//echo $_COOKIE['hey'];
header('Location: http://www.example.com/');
?>
</body>
</html>
header('Location: http://www.example.com/');
无需投掷 错误。此外,setcookie("hey","hellocookie");
即使有效 之前有一个输出echo "Hello";
。 我用echo $_COOKIE['hey'];
对它进行了测试,然后打印出来heycookie
。
*注意:在Localhost / Xampp上运行上述脚本。错误报告未被禁用。如果我错过了其中一个分号,我的浏览器输出会出错。 *