Login mit AJAX - Session geht verloren?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Login mit AJAX - Session geht verloren?!

    Hallo,

    ich bin seit gut 6 Stunden am probieren und suchen, leider finde ich keine Lösung für folgendes Problem.

    Ich habe einen Memberbereich, welcher bisher mit einem ganz normalen php-session login geschützt war. Diesen wollte ich nun eleganter mit AJAX gestalten.

    Ich habe also eine index.php und eine login.php in beiden wird ein global.php geladen in der ein session_start() ausgeführt wird.

    Wenn man jetzt auf Login klickt, öffnet sich ein Overlay von thickbox in dem ich (per AJAX) die login.php lade.

    In der login.php prüfe ich entsprechend die eingegebenen Zugangsdaten. Wenn erfolgreich dann werden $_SESSION-Variablen erzeugt ($_SESSION['member_id'] usw.). Diese Variablen kann ich auch im Overlay anzeigen lassen, sie existieren.

    Wenn ich das overlay jetzt schließe oder per javascript wieder zur index.php leite existieren die $_SESSION variablen aber nicht. Ich bin also nicht eingeloggt.


    Ich hoffe ihr versteht mein Problem und habt eine Lösung für mich.

    Gruß Nordin

  • #2
    Zitat von Nordin Beitrag anzeigen
    In der login.php prüfe ich entsprechend die eingegebenen Zugangsdaten. Wenn erfolgreich dann werden $_SESSION-Variablen erzeugt ($_SESSION['member_id'] usw.). Diese Variablen kann ich auch im Overlay anzeigen lassen, sie existieren.
    Wenn du diese Überprüfung innerhalb der selben Scriptinstanz machst, sagt sie wenig aus.
    Wenn ich das overlay jetzt schließe oder per javascript wieder zur index.php leite existieren die $_SESSION variablen aber nicht.
    Was heisst hier "oder"?
    Nur das Overlay wieder wegzumachen, bedeutet keinen neuen HTTP-Request - also kann die Seite dann auch von irgendeiner Session noch nichts wissen.

    Wenn du "wieder auf die index.php leitest", findet dann ein HTTP-Request statt - oder holt der Browser sie nur aus dem Cache?

    Hast du überprüft, ob die Session-ID korrekt übergeben wurde? (Kann ja in dem Falle nur per Cookie sein.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wech ich über AJAX einen erfolg zurück bekomme also das user und passwort passt dann habe ich mit folgendem weitergeleitet:
      Code:
      location.href = "index.php";
      Hast du überprüft, ob die Session-ID korrekt übergeben wurde? (Kann ja in dem Falle nur per Cookie sein.)
      Hmm ok also ich hab derzeit noch nichts über Cookie übergeben.

      Wenn ich das richtig verstehe muss ich in der login.php wo geprüft wird, ein cookie mit der session id erstellen?

      Und wie geht es dann weiter?
      Zuletzt geändert von Nordin; 09.06.2009, 01:56.

      Kommentar


      • #4
        Zitat von Nordin Beitrag anzeigen
        Wenn ich das richtig verstehe muss ich in der login.php wo geprüft wird, ein cookie mit der session id erstellen?
        Das sollte PHP automatisch machen, wenn es richtig eingestellt ist.
        Und wie geht es dann weiter?
        Da du meine Fragen nur ansatzweise beantwortet hast, geht's für dich jetzt erst mal mit Informieren darüber, wie Sessions grundsätzlich funktionieren, weiter.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Alles klar,

          habe es verstanden wie es funktioniert.

          Danke! Auch wenn ich mir einwenig selber helfen musste *g*... nach 15 Stunden probieren und lesen sitzt es nun

          Kommentar

          Lädt...
          X