Chrome と Firefox で奇妙な問題に直面しています。IE で問題なく動作するためです。[編集1:IEでも時々問題が発生します]
前提:
- ホームページView.php で、jQuery を使用して Cookie、たとえば Cookie1 を作成します。
- 私のホームページにはアプリケーションへのリンクがあり、それを App1 と呼びましょう。
- Cookie1 は App1 のコントローラーでアクセスされ、見つからない場合はホームページにリダイレクトされます。
問題文
- キャッシュの消去
- ホームページへ(Cookie1が作成されます)
- App1 へのリンクをクリックします。
- App1 はホームページにリダイレクトされます (App1 は Cookie1 にアクセスできませんでした)
- App1 のリンクをもう一度クリックすると、App1 は正常に動作します。
スニペット
ホームページView.php
createCookie('loggedin_ind', true);
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else{
var expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
App1Contoller.php
function index()
{
if(isset($_COOKIE["loggedin_ind"]))
{
//Display App1
}
else
{
redirect('http://localhost/Sitename');
}
}
最初の機会にのみ、Cookieが(jQueryによって)ライターではない、または(phpによって)読み取られない理由を誰でも提案できますか? 2回目からはうまくいきます。
私のローカルホストでも問題なく動作します。コードがサーバーに移行されたときにのみ問題が発生します。
Edit2: Cookieロジックをsessionsに置き換えましたが、問題は解決しません。
Edit3:これはサーバー関連の問題であると強く感じています。ホストゲーター共有ホスティングで同じコードをホストしましたが、そこでは正常に動作します。問題は私のgodaddy VDSでのみ発生します。Cookie/セッションが両方のサーバーで異なる方法で処理されているかどうかを確認する方法を誰でも提案できますか? ありがとう。
どんな助けでも大歓迎です.Thanks.