mein script hat zu lange sessions, sie hält schon über 3 stunden an
wie kann ich sagen, das er nach z.b. 1ner stunde die session beendet
Ankündigung
Einklappen
Keine Ankündigung bisher.
session dauert zu lang...
Einklappen
Neue Werbung 2019
Einklappen
X
-
Ein Gast antwortetedas gild ja auch nur als test, ich wart doch nicht 1-2 stunden, und wens nicht klapt die zeit vertödelt...
-
Ein Gast antworteteNaja, bei 10 Sekunden Laufzeit fast schon unerheblich
Ja, vertippt und nicht getestet.
Einen Kommentar schreiben:
-
Ein Gast antworteteeher < time() ^^, sonst würde er ja immer die session löschen
Einen Kommentar schreiben:
-
Ein Gast antworteteAh, wieder was gelernt.
session.gc_maxlifetime, das bezieht sich nur auf die Garbage Colection.
Wenn die läuft (gesteuert durch session.gc_probability, session.gc_divisor), dann werden Daten, die länger als maxlifetime Sekunden nicht benutzt wurden, entfernt.
Das eigentliche Laden der Sessiondaten scheint nach dem Prinzip: "Wenn die Daten noch vorhanden sind, dann sind sie auch gültig" zu laufen.
Eine verlässliche/unausweichliche Begrenzung scheint es also in php eingebaut nicht zu geben.
Aber Du kannst die Laufzeit in der Session abspeichern und nach session_start() jeweils abprüfen. Wenn die zeit abgelaufen ist, einfach alle Daten löschen und session_destroy() aufrufen.PHP-Code:<?php
session_start();
if (!isset($_SESSION['maxtime'])) {
// neue Session
$_SESSION['maxtime'] = time() + 10;
}
else {
if ($_SESSION['maxtime'] > time()) {
// alles löschen, aus und vorbei
}
}
?>
Beispiel gibt es bei http://php.speedbone.de/manual/en/fu...on-destroy.php
Einen Kommentar schreiben:
-
Ein Gast antwortetewenn ich init_set() weg lasse, ist es automatisch wieder bei 1440
du meins so
deklare.php
PHP-Code:<?php
error_reporting(E_ALL);
init_set("session.gc_maxlifetime",1);
session_start();
$_SESSION['user']="sen-me";
?>
PHP-Code:<?php
error_reporting(E_ALL);
session_start();
if(isset($_SESSION['user'])) echo "Die Session existiert noch!";
else echo "Die Session existiert [b]nicht[/b] mehr";
?>
geht immer noch nich (zeigt immer an, das sie noch existiert)
Einen Kommentar schreiben:
-
Ein Gast antworteteMach doch einfach mal eine Seite mit de, folgenden Inhalt:
PHP-Code:<?php
Error_reporting(E_ALL);
Session_start();
if(isset($_SESSION['user']))
{
echo "Die Session existiert noch!";
}
else
{
echo "Die Session existiert [b]nicht[/B] mehr";
}
?>
Einen Kommentar schreiben:
-
Ein Gast antwortetedas script daoben, die session hält immernoch über 10 sekunden an, sogar über 10 minuten
Einen Kommentar schreiben:
-
Ein Gast antwortetenach 10 sekunden ist die session immer noch da
Einen Kommentar schreiben:
-
Ein Gast antwortetePHP-Code:<?php
ini_set("session.gc_maxlifetime",10);
session_start();
echo ini_get("session.gc_maxlifetime");
if($_POST['name']!="") $_SESSION['name']=$_POST['name'];
echo "Name = ".$_SESSION['name'];
?>
Einen Kommentar schreiben:
-
Ein Gast antwortete -
Ein Gast antworteteich hab irgendwo gelesen das es als minuten zu beachten gild
und wie stellt man nun das ein?
PHP-Code:session_start();
session.gc_maxlifetime = 3600;
Einen Kommentar schreiben:
-
Ein Gast antworteteWas anZitat von http://www.php.net/manual/de/ref.session.php#ini.session.gc-maxlifetimesession.gc_maxlifetime integer
session.gc_maxlifetime spezifiziert die Anzahl der Sekunden, nach denen Daten als 'garbage' ('Müll') betrachtet und entsorgt werden.
Einen Kommentar schreiben:
-
Ein Gast antworteteist doch egal, zumindest fürn beispiel
Einen Kommentar schreiben:
-
Ein Gast antwortete--> nicht session_register() benutzen...das is veraltet!!!
benutz $_SESSION['user'] = $user;
stego87 :wink:
Einen Kommentar schreiben:
Einen Kommentar schreiben: