session_start関数でWarningが表示される

スポンサーリンク

session_start関数でCookieを作成するためのHTTPヘッダーを作成できないという意味です。原因は、そのページではすでに何らかの文字列などが出力されており、その際にHTTPヘッダーが出力されてしまっていることが考えられます。また、何も出力していない場合でも、session_start関数の前に改行が入っていると、改行が出力されるときにHTTPヘッダーが出力されてしまいます。

↓(改行)
↓(改行)
<?php session_start(); ?>

○実行結果

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent…略…

【対策】session_start関数はスクリプトの先頭(HTTPヘッダーが出力される前)で実行します。

<?php session_start(); ?>

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル
スポンサーリンク