1

可能重复:
PHP 已发送的标头

这些是错误:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers
already sent by (output started at 
C:\xampp\xampp\htdocs\ProjSecond\includes\overall\Oheader.php:3) in  +
C:\xampp\xampp\htdocs\ProjSecond\core\init.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter -  
headers already sent (output started at  
C:\xampp\xampp\htdocs\ProjSecond\includes\overall\Oheader.php:3) in  
C:\xampp\xampp\htdocs\ProjSecond\core\init.php on line 2

我在不同的目录中构建我的项目,相关文件的代码如下:

文件:初始化:

<?php
session_start();
require 'database/connect.php';


?>

文件: 标题:

<body>
<?php include 'includes/header.php';?>

文件: 头:

<head>
<title>Project47</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/pjcss.css">
</head>

有谁知道为什么会这样……上面显示的代码是每个文件的全部内容

4

3 回答 3

4

这是因为您在开始会话之前已经输出了一些东西

甚至会话开始前的空白也会导致此警告

并且标头已经发送也是因为在标头之前发送了一些东西

在此处输入图像描述

于 2012-10-24T05:43:14.660 回答
1

对于您的项目结构,您需要确保 init.php 是执行序列中调用的第一个文件,并且所有其他文件,包括“Head”,都应该包含在该文件中。在 session_start() 之前不能输出甚至是空字符串。如果所有文件都包含在一个单独的主文件中,比如 index.php,它应该看起来像这样。

  <?php
      include ("init.php");
  ?>
   <html>
   <!-- The head file should come here -->
   <?php
      include "Oheader.php";
    ?>
于 2012-10-24T05:59:42.563 回答
0

在顶部编写 php 代码和 include 语句。然后开始编写html。见下文

<?php
session_start();
include 'includes/header.php';
?>

<html>
  <head></head>

...
...
于 2012-10-24T05:47:23.453 回答