プロが教える店舗&オフィスのセキュリティ対策術

タイトルの通り、ログインしないと表示できないページ間の遷移中に、他のページへのリンクをクリックするとログアウトされていしまいます。原因がわからず困っています。
要件的には、あるページへの遷移中に、他のページへのリンクをクリックすると、最初のページへの遷移を中止して、後からクリックしたページへ遷移する、もしくは、後からのクリックを無視して、最初のページへ遷移する、のどちらかです。
ソースは以下のような感じです。PHP5.2.4です。
session_start();
session_regenerate_id(TRUE);
if (isset($_SESSION["isloggedin"]) && $_SESSION["isloggedin"]) {
// ログインしていないと見られないページを表示
}
else {
header ("Location: login.php");// ログイン画面へ
※どうやらこっちの分岐に入るようです。
}
ちなみに遷移終了後にさらに他ページへ遷移する場合は問題が発生しません。

A 回答 (1件)

別ページへのリンクから戻ってきたときに、セッションがクリアされてしまうからでは?

この回答への補足

自己レスです。
原因発見しました。
session_regenerate_id(true)がいけないようです。
「session_regenerate_id(true)によるセッション切断」
http://code.xenophy.com/?p=407

補足日時:2009/02/01 22:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!