0

ログインが必要なサイトを開発しています。クライアントがセッション Cookie でログインしているかどうかを確認するために index.php をセットアップしました。そうでない場合は、ログイン ロジックを処理する login.php にリダイレクトします。ユーザーがログイン フォームに資格情報を入力すると、認証を行う login.php に投稿されます。問題がなければ、ほとんどの作業を行う index.php にリダイレクトする必要があります。このセットアップ全体は、Internet Explorer 10 と Chrome 30 で完全に機能します。ただし、Firefox 24 では、index.php から login.php への最初のリダイレクトは問題なく機能しますが、login.php から index.php へのリダイレクトは機能しません。私が得るのは空白のページだけです。ただし、奇妙な点は、Firefox で「ページ ソースを表示」しようとすると、コード ビュー ウィンドウに「ドキュメントの期限切れ」と表示されることです。[再試行] をクリックすると、

これは、Chrome と IE で機能し、以前の Firefox でも機能していたため、幻の空白の問題ではないと確信しています (ページ ソースを表示すると機能することは言うまでもありません)。アドバイスをいただければ幸いです。以下は、リダイレクトを行う login.php のスニペットです。

if(isset($_POST['login'])) {
  $contents=tnRequest(...);  // this gets an XML document describing the user
  $xml=simplexml_load_string($contents);
  if($xml->STATUS==0) {
    if($xml->PASSCHANGE==1) { // force a password change
        include('header.php');
        passwdform($puser,$ppass);
        include('footer.php');
        exit;
    }
    // user logged in okay, no forced password change.
    // load data into session variable and redirect to index.php
    load_user_data($xml);
    header('Location: ./index.php');
    exit;
  } else {  // login failed, try again
    session_regenerate_id(true);
    include('header.php');
    echo "<Center><font color='red'><strong>Incorrect login, please try again.</font></center>";
    loginform();
    include('footer.php');
    exit;
  }
}
4

1 に答える 1