2012-01-11 17 views
110

Possible Duplicate:
PHP headers already sent
Headers already sent by 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();をすでに使用していたが示唆されていますか?私は周りを見ていたが、実際に私のためにこれをクリアするものはありません。

おかげ

+0

"(23行目の出力が始まります)23行目の内容は? –

+0

23行目は上記のコードの 'session_start();'です – user1039878

+2

私の場合私はBOMなしでファイルのエンコーディングを設定する必要がありました –

答えて

211

「は既に送られたヘッダは、」あなたのPHPスクリプトがすでにHTTPヘッダを送信し、そのように、それは今、それらに変更を加えることができないことを意味します。あなたがsession_startを呼び出す前に、すべてのコンテンツを送信しません

チェック。さらに良いことに、PHPファイルの中で最初に行うことはsession_startです(すべてのHTMLなどの前に、絶対的な始まりに置いてください)。

+13

入れ。すべてのものの上に、それは働いた、ありがとう:) – user1039878

+73

私は別の洞察を共有することを可能にしてください!。 PHPドキュメントを作成する場合は、<?phpが最初の文字であることを確認してください。これは私の問題を解決しました。 – bryansis2010

+20

私の場合は - 私は新しい文書を作成し、内容と作品を貼り付けました。問題は、含まれているファイルにutfの記号(bom)が含まれていることでした。 –

関連する問題