私は以下のように動作する小さなウェブサイトを持っています
- ユーザーはログイン ページに移動し、資格情報を入力します (page1 と呼びます)。
- フォームは page2 に投稿され、ユーザーを認証し、session_start を呼び出し、セッション変数を設定
$_SESSION['somevar']
して page3 にリダイレクトします。 $_SESSION['somevar']
ページ3で、ユーザーをログインページに戻さない場合に設定されているかどうかを確認します
コード:
//here's the code on the top of the page3
<?php
session_start();
if (!isset($_SESSION['somevar']))
{
header("Location:http://somesite")
}
...other code follows
問題は、これが FireFox で機能している間、正しいユーザー資格情報を使用しても、IE 7 が page3 のコンテンツを表示する代わりに page1 にリダイレクトし続けることです。
これを解決するためのポインタを教えてください。
編集:非常に奇妙な解決策ですが、機能します。私が変更され
if (!isset($_SESSION['somevar'])) { header("Location:http://somesite") }
に
if ($_SESSION['somevar'] == '' ) { header("Location:http://somesite") }
そしてIEは今幸せです。しかし、なぜisset
IEで動作しなかったのかはまだわかりません
どうもありがとう