Hallo Forum,
ich habe gerade ein merkwürdiges Session Problem.
Und zwar habe ich eine passwortgeschütze Seite, die über Sessions verwaltet wird. Das funktioniert soweit auch ganz gut.
Nun habe ich dort eine verzeichnis-listing funktion mit eingebaut.
Von ihr aus verlinke ich auf die download.php die im prinzip prüft ob der benutzer...
1. über die vorherige session (aus der index.php) kommt
2. die datei die geladen werden soll in dem vorgegebenen verzeichnis liegt
Das funktioniert soweit auch super. Das Problem ist nur, wenn ich eine größere Datei downloade und dann weiter auf der vorherigen seite arbeiten möchte dann passiert garnichts...
...erst wenn ich den download abbreche oder er beendet ist geht es weiter.
Habe nun den versuch gemacht die session vor dem download zu zerstören und siehe da. Es funktioniert.
Das ist aber nicht des Rätsels Lösung, denn ich müsste mich ja dann neu anmelden.
Der entscheidende part meiner download.php
Hat irgendwer dazu eine Idee?
Gruß,
Thomas
ich habe gerade ein merkwürdiges Session Problem.
Und zwar habe ich eine passwortgeschütze Seite, die über Sessions verwaltet wird. Das funktioniert soweit auch ganz gut.
Nun habe ich dort eine verzeichnis-listing funktion mit eingebaut.
Von ihr aus verlinke ich auf die download.php die im prinzip prüft ob der benutzer...
1. über die vorherige session (aus der index.php) kommt
2. die datei die geladen werden soll in dem vorgegebenen verzeichnis liegt
Das funktioniert soweit auch super. Das Problem ist nur, wenn ich eine größere Datei downloade und dann weiter auf der vorherigen seite arbeiten möchte dann passiert garnichts...
...erst wenn ich den download abbreche oder er beendet ist geht es weiter.
Habe nun den versuch gemacht die session vor dem download zu zerstören und siehe da. Es funktioniert.
Das ist aber nicht des Rätsels Lösung, denn ich müsste mich ja dann neu anmelden.
Der entscheidende part meiner download.php
PHP-Code:
session_start();
// hier steht der code zum verifinzieren...dann kommt
// session_destroy(); // das habe ich testweisse noch versucht.
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Type: ' . getmimetype($file));
header('Content-Disposition: attachment; filename=' . basename($file) . ';');
header('Content-Length: ' . filesize($file));
readfile($file);
Gruß,
Thomas
Kommentar