2016-03-23 7 views
0

Ich baue eine Webanwendung, die mehrere Benutzer hosten wird. Ich habe ein Login-Modul, das die E-Mail, das Passwort und die E-Mail-Adresse des Benutzers aufnimmt. Diese Daten werden an login.php übergeben, das auf Fehler prüft und wenn keine Fehler die login_user-Funktion aufruft. Die login_user-Funktion prüft, ob die Kreditwürdigkeit des Benutzers korrekt ist, und wenn ja, werden die Zeilendaten für jede SESSION Beispiel: ($ _SESSION ['first_name'] = $ row ['first_name'];). Nun, das Problem ist, wenn ich als Benutzer 1 angemeldet bin und dann ein neues Fenster öffne und mich als Benutzer 2 anmelde und ich gehe zurück zum Fenster von Benutzer 1 und aktualisiere die Seite Ich habe jetzt Benutzer 2 profile_pic für Benutzer 1. Das $ _SESSION Daten zB Profil_pic wird von einer zentralen Datei namens loginuser.php gelesen, die 2 Dinge tut: überprüft, ob der Benutzer angemeldet ist und wenn ja, echo die Sitzung im JSON-Format. Dies ist, wo ich glaube, das Problem liegt daran, dass die Daten korrekt zurückkommen, aber jedes Mal, wenn sich der Benutzer anmeldet, initialisiert er die Sitzungsdaten für den letzten angemeldeten Benutzer. Ich habe versucht, $ _COOKIE zu verwenden, um die Daten zu speichern, aber ich bekomme gleiche Ergebnisse. Ich habe versucht mit session_regenerate_id, aber die gleichen Ergebnisse zu erhalten. Vor dem Erstellen der Anwendung hatte ich den Eindruck, dass PHP für jeden Benutzer einzigartige Sitzungen durchführt. Also meine Frage ist, wie richte ich meine SESSIONS so ein, dass sie die korrekten Daten zurückgibt, die jeder Benutzeranmeldung entspricht? Hinweis Ich verwende JQuery zum Abrufen der Daten von loginuser.php Alle Hilfe ist willkommen.Was ist der richtige Weg, um Ihre Sitzungen in PHP einzurichten?

+1

Versuchen Sie, 2 '$ _SESSION' Sitzungen von 2 verschiedenen Benutzern in verschiedenen Webbrowsern (Firefox, Chrome, ie) zu öffnen und erstaunt zu sein – Daan

+0

Danke Daan jetzt denke ich es ist nur eine Frage der Browser – meddy

Antwort

1

Eine PHP-Sitzung ist eine Browsersitzung. Wenn Sie dieselbe Anmeldeseite im selben Browser öffnen, wird dieselbe Sitzung verwendet.

Wenn Sie einen anderen Browser ausprobieren, erhalten Sie verschiedene Sitzungen. Sie können auch ein neues Browserfenster im privaten/Inkognito-Modus versuchen.

Es gibt keinen Fehler in dem, was Sie beschreiben.

+0

Es sieht aus wie Ihr richtig wenn ich Öffnen Sie einen anderen Browser, es funktioniert gut, aber jetzt das Profil Bild zeigt sich nicht in Firefox oder Safari Ich bin Debuggen jetzt lassen Sie das Endergebnis – meddy

Verwandte Themen