一遍又一遍地发现这个愚蠢的错误,绝对不会一次又一次地发送除此之外的标题(每次运行页面时打印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?>
我不知道发生了什么。
编辑:发现问题。我的?>
之后有一个令人毛骨悚然的单一空间。我删除了它,瞧,它现在已经修好了。谢谢奥巴马
答案 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>
此外,您必须在发送任何标题之前启动您的会话。