PHPでのセッション処理における一般的な問題
セッション処理における主な問題は次のとおりです: セッションの操作が完了する前にブラウザへの出力を一切行ってはなりません。 これを守らない場合、次のエラーが発生します: Warning: Cannot send session cookie - headers already sent.
ブラウザへの出力とは何でしょうか? <?phpタグの前のあらゆる文字、例えばテキストやタグ、
さらにはスペースや、PHPからのエラーメッセージです。また、echo、var_dump、
print_rによる出力も行ってはいけません。
ドキュメントの文字エンコーディングは必ずBOMなしのutf-8でなければなりません。
単なるutf-8の場合、<?phpの前にこのエンコーディング特有の特殊文字が挿入され、
セッションは機能しなくなります。
次のコードに含まれる誤りを修正してください:
text
<?php
session_start();
?>
次のコードに含まれる誤りを修正してください:
<p>
<?php
session_start();
?>
</p>
次のコードに含まれる誤りを修正してください:
<?php
echo 'text';
session_start();
?>