标题已发送错误,未发送标题

时间:2015-08-01 10:30:45

标签: php

一遍又一遍地发现这个愚蠢的错误,绝对不会一次又一次地发送除此之外的标题(每次运行页面时打印5次)

Cannot modify header information - headers already sent by (output started at /home/xx/public_html/xx/index.php:1) in /home/xx/public_html/xx/index.php on line 1

我的index.php:

<?php header('Content-Type:text/html; charset=UTF-8');
            require("load.php");?>
            <!DOCTYPE HTML>
            <html>
            <head>

我的load.php:

<?php
define("ABS_PATH", $_SERVER['DOCUMENT_ROOT']);
include_once (ABS_PATH .'/assets/x/la.php');
require(ABS_PATH ."/assets/x/go.php");
///some more variables;?>

我的la.php:

<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];
}
/// more code?>

我不知道发生了什么。

编辑:发现问题。我的?>之后有一个令人毛骨悚然的单一空间。我删除了它,瞧,它现在已经修好了。谢谢奥巴马

2 个答案:

答案 0 :(得分:0)

在发送任何标头之前,您必须使用session_start。

session_start;置于header('Content-Type:text/html; charset=UTF-8');

之上

答案 1 :(得分:0)

我在这里看到一个空白。试试这段代码。

<?php
session_start();
header('Content-Type:text/html; charset=UTF-8');
require("load.php");?>
<!DOCTYPE HTML>
<html>
<head>

此外,您必须在发送任何标题之前启动您的会话。