web-dev-qa-db-ja.com

"セッションキャッシュリミッタを送信できません - ヘダはすでに送信されています"

可能な重複:
PHPヘッダはすでに送信されています
すでにPHPによって送信されたヘッダー

セッションで問題を抱えていることは非常に迷惑になりつつあります。特定のページでセッションを開始しようとするたびに、次のエラーが発生します。

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ............ on line 23

このコードを使う:

<?php
session_start();
if(isset($_SESSION['user']))
    {
        $user = $_SESSION['user'];
        echo "$user";
    }
else
    {
    }
?> 

私はすでにsession_start();を使ったことがあるのでしょうか。 Iveは周りを見回していましたが、実際にこれを解決するものは何もありません。

ありがとう

123
user1039878

「ヘッダーは既に送信されています」とは、PHPスクリプトが既にHTTPヘッダーを送信していることを意味します。そのため、現在は変更できません。

session_startを呼び出す前に、コンテンツが送信されていないことを確認してください。さらに良いことに、PHPファイルでsession_startを最初に行うことにしてください(したがって、すべてのHTMLなどの前に絶対に始めてください)。

239
houbysoft