Beenden einer Session

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

  • Beenden einer Session

    Hi, habe eine Frage zum Session-Handling. Es klappt alles soweit ganz gut, bis auf eine Sache:

    Ich möchte gerne die Session beenden, wenn der Benutzer im selben Fenster zu einer anderen Webadresse wechselt. Beim Zurückwechseln soll er sich dann erneut anmelden müssen.

    Wo und wie muss ich dann die Session beenden (mit session_destroy?).

    Danke für einen schnellen Tip.

    odi
    14
    Bayern
    0%
    1
    Leverkusen
    0%
    1
    Dortmund
    0%
    3
    Schalke
    0%
    4
    ein anderer Verein
    0%
    5

    Die Umfrage ist abgelaufen.


  • #2
    <?
    session_destroy();
    ?>

    Kommentar


    • #3


      ich weiss, dass es mit session_destroy() geht. aber wann muss ich sie aufrufen? ps.: index.php besteht aus einem frameset.

      danke für eine antwort,

      odi

      Kommentar


      • #4
        machs im body tag mit
        onUnload()...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Humbug. onUnLoad ist JavaScript, session_destroy ist PHP.

          So geiht dat:
          session_start();
          session_destroy();
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Ja ich hatte es doch richtig! Er wollte net wissen wie man startet sonder beendet

            Kommentar


            • #7
              aber meiner Meinung muß der
              session_destroy();
              die
              session_start();
              vorangehen.

              Oder, irre ich mich da jetzt?

              Kommentar


              • #8
                ja klar is onOnload javascript... doch das ding kann ne Funktion ausführen...
                die kann php session_destroy() enthalten und gut is...
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  klar muss session_start(); vorangehen sonst kannst du auch nichts beenden wenn nichts gestartet ist - versuch mal win runterzufahren bevor es hochgefahren ist
                  Hier poste ich mal meine logout.php:

                  PHP-Code:
                  <?php
                  // [logout.php] Beendet die Session mit der Administration.
                  // Sessionbeginn wenn false dann Fehler
                  session_start();
                  if (!
                  session_is_registered('username'))
                  {
                  die (
                  "Fehler: Nicht eingeloggt!");
                  }
                  // Beendet Session
                  session_destroy();
                  // Wenn alles true dann geht's weiter zur [login.html]
                  header("Location:login.html");
                  ?>

                  Kommentar


                  • #10
                    Sorry wenn ich den Tread wieder hervorkrame, aber das Problem ist IMHO nicht gelöst. Zumindestens hab ich das gleiche und bin nicht wirklich klüger.

                    Das Script setzt das aktive Ausloggen voraus.
                    Soweit so klar.

                    Wenn der User sich aber nicht explizit ausloggt, wat dann?
                    Meine Idee wäre es, das Session_cookie zeitlich zu begrenzen. Was meint ihr? Gibts andere Möglichkeiten?
                    Grüße
                    Petra

                    _____________________________
                    Urlaub nur hier:
                    http://www.landhaus-drosselweg.de

                    Kommentar


                    • #11
                      Du meinst wenn er sich nicht ausloggt und das Fenster einfach schließt? Dann ist er trotzdem ausgeloggt

                      Kommentar


                      • #12
                        Ähm, wieso?
                        Grüße
                        Petra

                        _____________________________
                        Urlaub nur hier:
                        http://www.landhaus-drosselweg.de

                        Kommentar


                        • #13
                          Weil die Session nur solang steht bis das Fenster zu ist denk ich mal.

                          Kommentar


                          • #14
                            Also wenn ich das richtig verstanden haben, dann wird die Session_ID in einem Cookie abgelegt. Beim nächsten Start des Proggis ist die Session also gültig...

                            Odrrr?
                            Grüße
                            Petra

                            _____________________________
                            Urlaub nur hier:
                            http://www.landhaus-drosselweg.de

                            Kommentar


                            • #15
                              fast.
                              die session verwaltung benutzt vorerst mal temporäre cookies - die sterben mit dem fenster, sind also auch wech wenn du ein neues fenster aufmachst..
                              schau mal auf http://develnet.org/tech/tutorials/
                              das is sehr schön erklärt oder auch bei köhntopp in den faq:
                              http://www.koehntopp.de/php/version4_session.html

                              @neu anmelden wenn zwischenzeitlich auf einer anderen seite:
                              ich würd den referrer auslesen - wenn referrer aus den eigenen seiten, alles ok, wenn referrer fremd dann session_start(); session_destroy(); und husch zur anmeldung

                              sag ich jetzt mal unbesehen.
                              Zuletzt geändert von WhiteMountain; 19.03.2002, 17:29.

                              Kommentar

                              Lädt...
                              X