Session Abbruch feststellen

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

  • Session Abbruch feststellen

    Wie kann ich eine Session abbrechen,
    wenn das " x " im Browser geklickt wird und nicht der
    logout Link, wie eigentlich vorgesehen?

  • #2
    Garnicht. Außer über nen Sessiontimeout
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      evtl. mit javascript. popup (mit sessionid) im hintergrund öffnen, und in einer endlosschleife prüfen, ob der opener noch existiert. wenn nicht, session zerstören.
      Kissolino.com

      Kommentar


      • #4
        PopUp finde ich persönlich nicht gut, weil viele Internetbenutzer
        Anti-PopUp Programme installiert haben und dieses
        dann erst gar nicht aufgebaut wird...?!

        Aber ich mach mich mal schlauer in einem JS Forum. Dankeschön

        Kommentar


        • #5
          Session Abbruch feststellen

          Kann ich mittels JS prüfen, ob eine PHP-Session vorhanden ist?

          Kommentar


          • #6
            Original geschrieben von kerbstone
            Aber ich mach mich mal schlauer in einem JS Forum. Dankeschön
            auweia ... und dafür einen neuen thread? super

            *zusammenführ
            Kissolino.com

            Kommentar


            • #7
              , war doch ein JS Forum *g*

              Kommentar


              • #8
                Bist übrigens nicht der erste, der verzweifelt versucht dieses Problem zu lösen.

                Kommentar


                • #9
                  Ich würde eher sagen Javascript verwenden für einen Inaktiv/Aktiv Counter der Session um bildlich dem User zu zeigen das er nach 30 min nach keiner action ausgeloggt wird.

                  Ansonsten lediglich serverbasiert über 2 Felder login_time und lastaction_time die Differenz dieser Zeitspanne ermitteln und mit der erlaubten Idletime vergleichen.

                  Wenn die Differenz dann größer ist, einfach den User als ausgeloggt betrachten und bei weniger Serverlast ein Query ausführen was die abgelaufenen Useraccountlogins aus der Table kickt. Oder eben zeitnah je nachdem was sinniger ist.

                  Die Aktivität der User sprich das erhalten der Session kann dann z.B. mit einer Userverfolgung kombiniert werden
                  [color=blue]MfG Payne_of_Death[/color]

                  [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                  [color=red]Merke:[/color]
                  [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                  Murphy`s Importanst LAWS
                  Jede Lösung bringt nur neue Probleme
                  Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                  In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                  Kommentar


                  • #10
                    Danke für eure Hilfen. Ich werde mal gucken wie ich das mache...

                    Kommentar


                    • #11
                      Original geschrieben von Payne_of_Death
                      Ich würde eher sagen Javascript verwenden für einen Inaktiv/Aktiv Counter der Session um bildlich dem User zu zeigen das er nach 30 min nach keiner action ausgeloggt wird.

                      Ansonsten lediglich serverbasiert über 2 Felder login_time und lastaction_time die Differenz dieser Zeitspanne ermitteln und mit der erlaubten Idletime vergleichen.

                      Wenn die Differenz dann größer ist, einfach den User als ausgeloggt betrachten und bei weniger Serverlast ein Query ausführen was die abgelaufenen Useraccountlogins aus der Table kickt. Oder eben zeitnah je nachdem was sinniger ist.

                      Die Aktivität der User sprich das erhalten der Session kann dann z.B. mit einer Userverfolgung kombiniert werden

                      Dazu hab ich gleich mal ne Frage. Also ich könnte ja die aktuelle Zeit mit der Zeit der letzten Aktion vergleichen. Theoretisch...
                      Aber wie kann ich das umsetzen? Wie krieg ich den Server dazu, wenn z.b. die Zeitdifferenz > 10min ist, was zu tun? Oder wie bemerkt er es überhaupt? Weil wenn der User das Fenster schließt gibts von der jeweiligen Datei keinen Aufruf mehr?!

                      Und wie komme ich an diese Zeit der letzten Aktion überhaupt ran?

                      Kommentar


                      • #12
                        Dazu hab ich gleich mal ne Frage. Also ich könnte ja die aktuelle Zeit mit der Zeit der letzten Aktion vergleichen. Theoretisch...
                        theortisch...

                        Aber wie kann ich das umsetzen? Wie krieg ich den Server dazu, wenn z.b. die Zeitdifferenz > 10min ist, was zu tun?
                        wenn der server überhaupt was tut (sprich eine seite parst), dann kann er auch mal eben die zeit berechnen oder sonst was machen. aber eben nur dann....

                        Oder wie bemerkt er es überhaupt? Weil wenn der User das Fenster schließt gibts von der jeweiligen Datei keinen Aufruf mehr?!
                        Tja, das ist genau das Problem, was im Forum tausen mal erwähnt wurde. Wenn die datei nicht aufgerufen wird, kann auch keine aktion ablaufen.

                        Ich erwähne in diesem Zusammenhang immer wieder gerne, das HTTP ein zustandsloses Protokoll ist.

                        Und wie komme ich an diese Zeit der letzten Aktion überhaupt ran?
                        Naja, z.B. in DB abspeichern... und dort rausholen.

                        Kommentar

                        Lädt...
                        X