重複の可能性:
PHP によって既に送信されたヘッダー
私はphpバージョン5.4.4を持っています
私はこのコードを持っています
echo "a";
session_start();
$_SESSION['login'] = "Jhon";
echo $_SESSION['login'];
これはうまくいきます、なぜですか?エラーはどこにありますか:「ヘッダーは既に送信されています....」???
重複の可能性:
PHP によって既に送信されたヘッダー
私はphpバージョン5.4.4を持っています
私はこのコードを持っています
echo "a";
session_start();
$_SESSION['login'] = "Jhon";
echo $_SESSION['login'];
これはうまくいきます、なぜですか?エラーはどこにありますか:「ヘッダーは既に送信されています....」???
簡単に言えば、出力バッファリングがオンになっているため、スクリプトがこのように機能することが保証されます。ただし、他のサーバーではデフォルトで出力バッファリングがオンになっていない可能性があるため、それに依存することはお勧めしません。オフにしたい場合は (私はそうします)、php.iniのoutput_buffering
ディレクティブをに変更します。0
出力がブラウザに送信されると(スペースであっても)、ヘッダー情報をブラウザに送信することはできません
。新しいセッションを開始すると(session_startを使用)
、セッションCookieがサーバーからブラウザに送信され、このCookieは
基本的にカプセル化されます。応答ヘッダー内。
php関数headers_sent()を使用して、ヘッダーがすでに送信されているかどうかを確認できます。
あなたのコードはうまく機能しましたが、echo ステートメントの前に session_start() を使用してみることができます。