Codeigniter と Internet Explorer で大きな問題が発生しています。
サンプルページをご覧ください
ここ数日、私を悩ませているのは非常に単純なことです。
ログインボタンを押すと、関数 start() を呼び出すだけです。
public function start()
{
setcookie('loginstatus', TRUE, time()+7200); // setting a cookie
redirect('stream', 'location'); // redirecting to the index controller
}
インデックス関数では、次のことを行います。
public function index()
{
if ($this->isuserloggedin() == TRUE)
{
echo "The user is already logged in";
$this->load->view("v_stream_start");
} else {
echo "The user still has to login";
$this->load->view("v_stream_login");
}
}
これは、既存の Cookie を確認する userisloggedin() メソッドです。
public function isuserloggedin() {
if (isset($_COOKIE['loginstatus'])) {
return TRUE;
} else {
return FALSE;
}
}
IE と FF/Safari/Chrome の比較を確認してください。IE 以外のすべてのブラウザで動作していますが、その理由はわかりません。
redirect() メソッドを呼び出すまで、すべてが期待どおりに実行されます。その後、IE は何らかの理由で Cookie を取得できませんが、他のすべてのブラウザーは取得できます。
私はすでに ci_session を ci_session に変更しようとしましたが、正確なサーバー時刻も確認しました。
どんな種類の助けにも感謝します。