Session auf Existenz überprüfen
MSVerweigerer
- php
Hallo zusammen!
Ich streite mich gerade eben mal wieder mit Sessions rum und stehe vor mehreren Fragen, die mir keine Dokumentation wirklich sauber beantworten konnte:
1. Wie überprüfe ich, ob eine Session mit der ID $SESSION auf dem Server überhaupt vorhanden ist?
2. Mit welchem Befehl schließe ich eine Session so, dass auch die entsprechende Datei vom Server gelöscht wird?
Danke für jede Hilfe!
Hi,
evtl.
session_start();
session_destroy();
Gruß
- Mit welchem Befehl schließe ich eine Session so, dass auch die entsprechende Datei vom Server gelöscht wird?
Danke für jede Hilfe!
Hi!
evtl.
session_start();
session_destroy();
Na wenns denn so einfach wär... Macht er leider nicht, die Datei bleibt weiterhin auf dem Server :-(.
Schöne Grüße!
- Mit welchem Befehl schließe ich eine Session so, dass auch die entsprechende Datei vom Server gelöscht wird?
Danke für jede Hilfe!
Hi!
Na wenns denn so einfach wär... Macht er leider nicht, die Datei bleibt weiterhin auf dem Server :-(.
Dann prüfe das doch einfach anhand der Existenz der Datei auf demn Server:
<?php
if(file_exists(session_save_path()."\sess_".$_REQUEST[session_name()])) {
echo "gespeichert";
}
else {
echo "nicht gespeichert";
}
?>
Und löschen entsprechend mit
<?php
session_destroy();
unlink(session_save_path()."\sess_".$_REQUEST[session_name()]));
?>
und ggfs. noch den Cookie überschreiben. Sollte reichen.
Grüße
Andreas
Moin!
Ich streite mich gerade eben mal wieder mit Sessions rum und stehe vor mehreren Fragen, die mir keine Dokumentation wirklich sauber beantworten konnte:
- Wie überprüfe ich, ob eine Session mit der ID $SESSION auf dem Server überhaupt vorhanden ist?
Wozu dies? In der Regel dürfte bei einer neuen Session das Array $_SESSION komplett leer sein. Dies ist sowohl für neue als auch für abgelaufene als auch für beendete bzw. ausgeloggte Sessions ein typisches Kennzeichen. Warum willst du dann nur neue Sessions erkennen?
- Mit welchem Befehl schließe ich eine Session so, dass auch die entsprechende Datei vom Server gelöscht wird?
Wozu dies? Wenn dein Auslogg-Mechanismus $_SESSION leert, ist ein Löschen der Datei im Prinzip nicht notwendig.
Deine Fragen zielen auf einen Bereich des Session-Handlings, der für den Programmierer im Prinzip transparent ist und ihn nicht interessieren sollte. Es sei denn, du willst eigene Routinen schreiben, um die Standard-Routinen, die das Speichern und Neuladen der Sessiondaten erledigen, zu ersetzen (beispielsweise, um die Session in eine Datenbank zu schreiben).
Wenn sowas der Fall ist, informiere dich über http://www.php.net/manual/de/function.session-set-save-handler.php
- Sven Rautenberg