2011年02月28日
PHPのheader() 関数においてセッションが引き継がれない
PHPのheader() 関数を使用するとセッションが引き継がれない場合があります。
header() 関数後にサーバー内で新しいセッションを作成してしまうようです。
対策としては、URLにセッションIDを埋め込むことです。
例として、
index.php
---------------------------
header('Location: ./next.php?id='.session_id());
next.php
---------------------------
session_id($_GET['id']);
session_start();
上記のようにセッションIDを受け渡すことでセッションが引き継がれます。
ただし、セッションIDが見えてしまうのはセキュリティ上よくないと思われる人は、
前後にランダムの文字列などを加えたりして工夫をする必要があるでしょう。
header() 関数後にサーバー内で新しいセッションを作成してしまうようです。
対策としては、URLにセッションIDを埋め込むことです。
例として、
index.php
---------------------------
header('Location: ./next.php?id='.session_id());
next.php
---------------------------
session_id($_GET['id']);
session_start();
上記のようにセッションIDを受け渡すことでセッションが引き継がれます。
ただし、セッションIDが見えてしまうのはセキュリティ上よくないと思われる人は、
前後にランダムの文字列などを加えたりして工夫をする必要があるでしょう。
【PHPの最新記事】
この記事へのコメント