0

重複の可能性:
PHP によって既に送信されたヘッダー

ここで、ページを保護するための奇妙な問題があり、セッションが開始されたかどうかを確認し、ログインにリダイレクトしない場合は、

    <?php 
require_once ('includes/config.inc.php'); 

// Start output buffering:
ob_start();

// Initialize a session:
session_start();

// Check for a $page_title value:
if (!isset($page_title)) {
    $page_title = 'User Registration';
}

// If no first_name session variable exists, redirect the user:
if (!isset($_SESSION['first_name'])) {

    $url = BASE_URL . 'index.php'; 
    ob_end_clean(); // Delete the buffer.
    header("Location: $url");
    exit(); // Quit the script.

}
?>

このエラーが発生しました:8行目:

session_start() [function.session-start]: セッション キャッシュ リミッターを送信できません - ヘッダーは既に送信されています

誰かがセッションが開始されているかどうかを確認するための良い解決策を投稿できますか?ログインページにリダイレクトされない場合は、ページにとどまりますか?? シャンクス

4

2 に答える 2

5

これはあなたの問題です:

    <?php 
^^^^

ヘッダーが送信される前にコンテンツを出力することはできません。これには空白が含まれます。

于 2012-04-07T00:46:15.037 に答える
1

が表示される場合は常に、headers already sentPHP がヘッダーを送信する前に何かが出力されていることを意味します。

あなたの場合、Oli Charlesworth が言ったように、それは PHP タグの前の追加のソースです。

于 2012-04-07T00:48:54.177 に答える