leicht-debil
Neu angemeldet
Hallo Leute!
Ich habe eine kleine browserbasierte Anwendung, bei der sich User mit Benutzername und Passwort anmelden. Vereinfacht:
[src=php]<?php
session_start();
if($username == "passt" && $passwort == "passt") {
$_SESSION["angemeldet"] = 1;
}
?>[/src]
fortan wird immer so geprüft (vereinfachte Darstellung):
[src=php]<?php
session_start();
if(isset($_SESSION["angemeldet"]) && $_SESSION["angemeldet"] == 1) {
// Alles ok
}
else {
header("Location: http://example.com/timeout");
exit(0);
}
?>[/src]
Mein Problem ist nun das, dass die Sitzungsdauer gefühlt willkürlich erfolgt. Mal fliegt man nach 10 Minuten aus dem System, ein anderes mal erst nach 3 Stunden - egal ob aktiv oder inaktiv. Ich würde das ganze gerne so einrichten, dass die Session jedoch solange aktiv ist, bis der User den Webbrowser schließt. Kurz: Die Session soll in Härtefall nicht automatisch enden, sondern bei Bedarf ewig laufen.
In der .htaccess steht derzeit folgendes:
Gemäß phpinfo() werden die Werte auch übernommen:
Dennoch scheint es so, als würden die 9600 Sekunden (160 Minuten) nicht effektiv greifen. Wie bereits gesagt: Das ganze wirkt sehr willkürlich.
Kann mir jemand sagen, wie ich die SESSION dauerhaft bestehen lassen kann und ggf. noch mal eine kurze Erläuterung zum Handling geben?
Ich habe eine kleine browserbasierte Anwendung, bei der sich User mit Benutzername und Passwort anmelden. Vereinfacht:
[src=php]<?php
session_start();
if($username == "passt" && $passwort == "passt") {
$_SESSION["angemeldet"] = 1;
}
?>[/src]
fortan wird immer so geprüft (vereinfachte Darstellung):
[src=php]<?php
session_start();
if(isset($_SESSION["angemeldet"]) && $_SESSION["angemeldet"] == 1) {
// Alles ok
}
else {
header("Location: http://example.com/timeout");
exit(0);
}
?>[/src]
Mein Problem ist nun das, dass die Sitzungsdauer gefühlt willkürlich erfolgt. Mal fliegt man nach 10 Minuten aus dem System, ein anderes mal erst nach 3 Stunden - egal ob aktiv oder inaktiv. Ich würde das ganze gerne so einrichten, dass die Session jedoch solange aktiv ist, bis der User den Webbrowser schließt. Kurz: Die Session soll in Härtefall nicht automatisch enden, sondern bei Bedarf ewig laufen.
In der .htaccess steht derzeit folgendes:
php_value session.cookie_lifetime 9600
php_value session.gc_maxlifetime 9600
Gemäß phpinfo() werden die Werte auch übernommen:
session.gc_maxlifetime 9600 (Local Value) 1440 (Master Value)
Dennoch scheint es so, als würden die 9600 Sekunden (160 Minuten) nicht effektiv greifen. Wie bereits gesagt: Das ganze wirkt sehr willkürlich.
Kann mir jemand sagen, wie ich die SESSION dauerhaft bestehen lassen kann und ggf. noch mal eine kurze Erläuterung zum Handling geben?