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 に答える