• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Session-Ende?!

Status
Für weitere Antworten geschlossen.

pschumacher

Neues Mitglied
Huhu!

Ich habe da eine kleine Frage:
Ich habe es als PHP+MySQL-Anfänger immerhin schon geschafft ein eigenes Login-Script mit Sessions hinzubekommen und auch, dass man nur als Benutzer bestimmte Seiten sehen kann und das man auf die Profile der einzelnen Mitglieder klicken kann.

Nur ab und zu habe ich da das Problem, dass die Session auf einmal einfach verschwunden ist und ich keine Berechtigung mehr für die Seiten haben, auf denen man sich in eine Session eingelogt haben muss.

Nun ist meine Frage, ob eine Session automatisch irgendwann zu Ende geht oder ob das normal nicht der Fall ist. Wenn das automatisch der Fall ist, gibt es dann irgendeine Möglichkeit dieses automatische enden der Session zu unterbinden und wohlmöglich eine Session solange aktiv zu halten, bis man sich selber ausgeloggt hat oder seit 30 Minuten immer nur auf der selben Seite ist und seit diesen 30 Minuten nichts auf der Seite getan hat?

Ich danke schon einmal jetzt für Hilfe. :-D

MfG
PaSsi

Mod-Edit: Kursiv entfernt - Bitte nicht für längeren Text benutzen, da es den Lesefluss stört (Artemis)
 
Zuletzt bearbeitet von einem Moderator:
Huhu!

Alles klar, nun eine andere Frage:
Gibt es keine einzige Möglichkeit, die Session nach einer bestimmten Zeit zu beenden, also nach Inaktivität?

MfG
PaSsi

Mod-Edit: Kursiv entfernt - Bitte nicht für längeren Text benutzen, da es den Lesefluss stört (Artemis)
 
Ja, du speicherst innerhalb der Session immer die letzte Zeit wann der User aktiv war (eine Seite aufgerufen hat).
Beim nächsten aufruf überprüfst du wie lange die letzte Aktivität her ist und führst entweder die Session weiter oder beendest sie.

Um eine Session zu beenden lies mal das:
http://php.net/session_destroy

Vor allem den Teil:
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende globale Variablen und das Session-Cookie werden nicht gelöscht.

Um die Session komplett zu löschen, z.B. um einen Benutzer auszuloggen, muss auch die Session-ID gelöscht werden. Wenn zum Verfolgen der Session ein Cookie benutzt wird (standardmäßige Einstellung), muss das Session-Cookie gelöscht werden. Dafür kann setcookie() verwendet werden.
 
Huhu!

Nur noch Bahnhof:
Jetzt hat's mich völlig aus der Bahn gehauen mit setcookie() und dem Cookie-Kram. Kann mir das evtl. jemand etwas genauer erklären und ein Beispiel zeigen? :sad:

MfG
PaSsi
 
Man kann Session auf zwei verschiedenen Wegen von Seite zu Seite "tragen".
  1. Url:
    Hierbei wird die SessionID, mit der die Session identifiziert wird, immer an die Url angehängt. Das ergibt dann Links wie www.html.de/seite2.php?SID=kk4857878847nfd78sd
  2. Cookie:
    Hierbei wird dem Browser ein Cookie gesendet, das er speichern soll. Bei jedem erneuten Aufruf einer Seite unter der Url, sendet der Browser dieses Cookie dem Server. Bei dieser Methode sieht der Benutzer meist nicht, dass er grade in einer Session drin ist.

Edit:
Kannst du es bitte unterlassen, am Anfang jedes Postes einmal Huhu! zu schreiben? Danke.
 
Artemis schrieb:
Man kann Session auf zwei verschiedenen Wegen von Seite zu Seite "tragen".
  1. Url:
    Hierbei wird die SessionID, mit der die Session identifiziert wird, immer an die Url angehängt. Das ergibt dann Links wie www.html.de/seite2.php?SID=kk4857878847nfd78sd
  2. Cookie:
    Hierbei wird dem Browser ein Cookie gesendet, das er speichern soll. Bei jedem erneuten Aufruf einer Seite unter der Url, sendet der Browser dieses Cookie dem Server. Bei dieser Methode sieht der Benutzer meist nicht, dass er grade in einer Session drin ist.

Edit:
Kannst du es bitte unterlassen, am Anfang jedes Postes einmal Huhu! zu schreiben? Danke.

Hmz, das wird mirjetzt irgendwie alles zu kompliziert. Denn jetzt versteh ich echt gar nichts mehr, gibt es eigentlich noch eine andere Methode für Benutzerbereiche und Seiten mit Profilen usw. (z.B. auch Foren) ohne Sessions? o.O

MfG
PaSsi
 
Weitere Möglichkeit wäre ein "richtiges" Cookie aber das unterscheidet sich von den Session-Cookies kaum. Man könnte natürlich auch die Nutzerdaten von Seite zu Seite weitergeben abe das ist wesentlich aufwändiger und super unsicher. Das mit den Sessions ist schon die eleganteste und einfachste Lösung. Das ganze ist auch garnicht kompliziert. Lies dich erstmal richtig in das Thema ein, probier ein bischen rum und du wirst sehen das ist ganz einfach.
 
morl schrieb:
Weitere Möglichkeit wäre ein "richtiges" Cookie aber das unterscheidet sich von den Session-Cookies kaum. Man könnte natürlich auch die Nutzerdaten von Seite zu Seite weitergeben abe das ist wesentlich aufwändiger und super unsicher. Das mit den Sessions ist schon die eleganteste und einfachste Lösung. Das ganze ist auch garnicht kompliziert. Lies dich erstmal richtig in das Thema ein, probier ein bischen rum und du wirst sehen das ist ganz einfach.

Hmz, ich werde es einfach mal eine Weile versuchen...

Trotzdem danke an alle Poster!

MfG
PaSsi
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben