php中的头有错误,为什么?

php中的头有错误,为什么?,php,session,Php,Session,可能重复: 我以前的问题是UTF-8,但现在!我的代码再次生成此错误: Warning: Cannot modify header information - headers already sent by (output started at F:\xampp\htdocs\1\error_list.php:34) in F:\xampp\htdocs\1\error_list.php on line 75 为什么? 我的代码是: header("location:list.php?ms

可能重复:

我以前的问题是UTF-8,但现在!我的代码再次生成此错误:

Warning: Cannot modify header information - headers already sent by (output started at F:\xampp\htdocs\1\error_list.php:34) in F:\xampp\htdocs\1\error_list.php on line 75
为什么?

我的代码是:

header("location:list.php?msg=Please enter some username and password");

当您向浏览器发送html代码时,甚至只发送一个空格,都会发生这种情况。如果在这个php代码之前有任何html代码,那么问题就来了

解决方案

要告诉浏览器缓冲除php代码以外的所有内容,您需要使用:

ob_start();
当浏览器读取函数时,它将缓冲所有内容,并且在php代码完成任务之前不会将其发送到浏览器

编辑

如果在php代码之前有一些html代码,你想做什么?你能做些什么吗?
这是一个解决问题的方法,为什么不呢?

您的代码有几处“错误”:

  • 不要使用短标签。他们并不是真的错,但我不喜欢他们:)
  • 我认为您的定义应该是:
    define('ADMIN',$_SESSION['name')
  • 您可能会遇到问题,因为已经有一些html或任何东西(空间)输出到浏览器。如果已将文件保存为UTF-8,则应确保其中不包含

  • 这个错误已经讨论过数百万次了,文件是UTF-8/Unicode吗?解决这些错误的最肮脏的解决方案-省省你的呼吸吧,伙计。当你这么说的时候,意味着你什么都不知道。提供一些建议,而不是胡言乱语。@TomvanderWoerdtI已经编写PHP代码十多年了。我在这里告诉你,这是一个糟糕的解决方案,只处理症状,让应用程序崩溃。正确的解决方案是对代码重新排序,使逻辑在输出之前出现。作为99 rep用户,也许你不应该那么快地攻击他人,而应该在他们纠正你的错误时尝试向更有经验的开发人员学习。我欢迎所有想教我东西的人,我敞开双手接受他的建议@meager,但如果某人只是说那很糟糕、没用等等,那是没有用的。