[PHP-users 16347]セッション破棄後画面が表示されない現象について

aiko vvv_aiko_vvv @ hotmail.com
2003年 7月 2日 (水) 04:47:24 JST


いつもお世話になっております。

システムのログアウト処理で
ログアウトボタンを押下 → セッション破棄 → ログイン画面に戻る
という遷移をさせているのですが、ログイン画面に戻る段階で
ログイン画面が表示されず白い画面のままの場合があります。
ブラウザを更新すると、通常のログイン画面が表示されます。

★セッション破棄ファイル
***************************************************
<?php
  ob_start();
  session_start();

  //セッション変数のクリア
  session_unset();

  ob_end_clean();

  // ログイン画面へ
  header("Location: ". login.php );
?>
***************************************************

★ログインファイル
***************************************************
<?php
  ob_start();

  session_start();

  // ここで、
  // ログインに必要なセッション変数をセットしている
  // ex) $_SESSION["xxxx"] = "xxxxxxxx" ;

//  ob_end_flush();	// <-- 入れてみたのですが結果は変わりませんでした。
?>
<html>
<head>
<title>ログイン</title>
</head>
<body>
<?php
  // 画面作成
?>
</body>
</html>
***************************************************


上記の様に
セッション変数クリア後、
header()でログイン画面に遷移して
sessionを再開すると何か不都合があるのでしょうか。gc関係?


とりあえずの解決策としてセッション破棄ファイルを
JavaScriptで遷移する様に改良した所、上記現象はなくなりました。

★セッション破棄ファイル<改良版>
***************************************************
<?php
  ob_start();
  session_start();

  //セッション変数のクリア
  session_unset();

  ob_end_clean();

 // ログイン画面へ
//  header("Location: ". login.php );
?>
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
  // ログイン画面へ遷移
  window.top.location.href="login.php";
//-->
</script>
</head>
<body>
</body>
</html>
***************************************************


上記の様な原因について問題等分かる方がおられましたら
ご教示の程よろしくお願いいたします。

_________________________________________________________________
ネットを使うひとに有利な特典いっぱい MSN カード  http://card.msn.co.jp/ 



PHP-users メーリングリストの案内