2016-03-23 13 views
0

私は複数のユーザーをホストするWebアプリケーションを構築しています。私はユーザーの電子メール、パスワードを取り込み、私を覚えているログインモジュールを持っています。そのデータはlogin.phpに渡され、エラーをチェックし、エラーがなければlogin_user関数を呼び出します。 login_user関数は、ユーザーの信用が正しいかどうかをチェックし、そうであれば行データを各セッションに設定します。例:($ _SESSION ['first_name'] = $ row ['first_name'];)今問題は、ユーザー1としてログインしてから新しいウィンドウを開いてユーザー2としてログインし、ユーザー1のウィンドウに戻り、ユーザー1のユーザー2 profile_picを持つページを更新するときです。$ _SESSIONデータ例:profile_picは、2つのことを行うloggedinuser.phpという中央ファイルから読み込まれています。は、ユーザーがログインしているかどうかを確認し、の場合はセッションをjson形式でエコーします。これは、データが正しく戻ってくるためだが、ユーザーがログインするたびに、セッションデータを最後にログインしたユーザーに再初期化するため、問題があると思う。$ _COOKIEを使用してデータを保存しようとしたが、同じ結果。私はsession_regenerate_idを使ってみましたが、同じ結果を得ました。アプリケーションを構築する前に、私はPHPが各ユーザのためにユニークなセッションを処理するという印象を受けました。だから私の質問は、どのように私は自分のセッションを設定するので、それは各ユーザーのログインに対応する正しいデータを返すのですか? メモ私はloggedinuser.phpからデータを取得するためにJQueryを使用していますすべての助けに感謝します。PHPでセッションを設定する適切な方法は何ですか?

+1

異なるウェブブラウザー(firefox、chrome、ie)の2人の異なるユーザーから2つの '$ _SESSION'セッションを開こうとすると驚くばかりです – Daan

+0

今、私はそのブラウザの問題だと思っています – meddy

答えて

1

PHPセッションはブラウザセッションです。同じブラウザで同じログインページを開くと、同じセッションが使用されます。

別のブラウザを試してみると、異なるセッションが発生します。プライベート/シークレットモードで新しいブラウザウィンドウを試すこともできます。

あなたが何を記述しているかに全く誤りはありません。

+0

開いて別のブラウザを使用してうまくいきましたが、現在プロファイルの画像がFirefoxまたはSafariに表示されていません。デバッグ中です。 – meddy

関連する問題