这些是错误:
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
我在不同的目录中构建我的项目,下面是相关文件的代码:
FILE:init:
<?php
session_start();
require 'database/connect.php';
?>
文件:Oheader:
<body>
<?php include 'includes/header.php';?>
文件:头:
<head>
<title>Project47</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/pjcss.css">
</head>
有没有人知道为什么会这样?上面显示的代码是每个文件的全部
答案 0 :(得分:1)
因为你在开始会话之前输出了一些东西
即使会话开始前的空格也会导致此警告
和已发送的标头也是因为在标题
之前发送了一些内容
答案 1 :(得分:0)
将php代码和include语句写在顶部。然后开始编写html。 见下文
<?php
session_start();
include 'includes/header.php';
?>
<html>
<head></head>
...
...
答案 2 :(得分:0)
使用项目结构,您需要确保init.php是执行序列中调用的第一个文件,并且每个其他文件(包括“Head”)都应包含在该文件中。在session_start()之前,您不能输出甚至是空字符串。如果所有文件都包含在一个单独的主文件中,比如index.php,它应该是这样的。
<?php
include ("init.php");
?>
<html>
<!-- The head file should come here -->
<?php
include "Oheader.php";
?>