Ankündigung

Einklappen
Keine Ankündigung bisher.

[GELÖST] PHP-Session nach 60 Sekunden automatisch beenden

Einklappen

Neue Werbung 2019

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

  • [GELÖST] PHP-Session nach 60 Sekunden automatisch beenden

    Guten Tag,

    gibt es eine Möglichkeit in PHP, einen Login mit
    $_SESSION['userid'] automatisch nach 60 Sekunden wieder auszuloggen, so dass wieder die Loginseite angezeigt wird?

    Vielen Dank

    Diani

  • #2
    Wenn die Seite dem Benutzer angezeigt wird, dann hat PHP sich schon lange schlafen gelegt.
    Du könntest ggf. aber mit JavaScript ein setTimeout setzen, und nach 60 Sekunden auf die Logout Seite leiten.

    Kommentar


    • #3
      Zitat von Zeichen32 Beitrag anzeigen
      Wenn die Seite dem Benutzer angezeigt wird, dann hat PHP sich schon lange schlafen gelegt.
      Du könntest ggf. aber mit JavaScript ein setTimeout setzen, und nach 60 Sekunden auf die Logout Seite leiten.
      Danke, leider kenne ich mit JavaScript absolut nicht aus.

      Kommentar


      • #4
        Dann ist das hier ja DIE Chance diesen Zustand zu ändern.
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar


        • #5
          Zitat von Diani Beitrag anzeigen
          Guten Tag,

          gibt es eine Möglichkeit in PHP, einen Login mit
          $_SESSION['userid'] automatisch nach 60 Sekunden wieder auszuloggen, so dass wieder die Loginseite angezeigt wird?

          Vielen Dank

          Diani
          Du muss den Benutzer nicht automatisch ausloggen, Du musst ihn nur beim nächsten Besuch nach > 60s als nicht eingelogt klassifizieren.
          Solange der Benutzer keinen Request sendet oder jemand seinen Loginstatus wissen will, ist es völlig egal ob er ein oder ausgelogt ist.

          Kommentar


          • #6
            Zitat von Zeichen32 Beitrag anzeigen
            Du könntest ggf. aber mit JavaScript ein setTimeout setzen, und nach 60 Sekunden auf die Logout Seite leiten.
            Mit Internet offline gehen und Javascript abschalten, dann kann man auch hier die Seite länger betrachten.

            Die Frage ist ja warum man so was machen will oder ob es sich hier nur um ein Verständnis-Problem handelt.
            Ich denke, dass hier noch sehr viel Grundlagenwissen fehlt.

            Kommentar


            • #7
              Hier meine Lösung:
              PHP-Code:
              session_start();

              if(!isset(
              $_SESSION['userid'])) {
              header("Location: login.php");
              }

              $session_timeout 60;

              if (!isset(
              $_SESSION['last_visit'])) {
              $_SESSION['last_visit'] = time();
              }

              if((
              time() - $_SESSION['last_visit']) > $session_timeout) {
              session_destroy();
              header("Location: login.php");
              }

              $_SESSION['last_visit'] = time(); 

              Kommentar


              • #8
                Bitte verwende Code Tags wenn du Code hinzufügst, dafür gibt es im Editor hier auch Schalter für Code, HTML und PHP.

                Kommentar


                • #9
                  Ja, ich kenne das aus anderen Foren. Die hier sind allerdings ein Drama, der Text wird genausowenig formatiert wie ohne Code-Tags.

                  Kommentar

                  Lädt...
                  X