Hi,
ich habe ein Downloadscript gebastelt (bzw von nem Tut

), dass auch gut funktioniert, nur will ich jetzt noch checken, ob der User eingeloggt ist und damit auch die Datei downloaden darf. Bei dieser Überprüfung wird allerdings der Header gesendet, und das darf eigtl nicht sein, da der Header später beim DL Script noch mal gesendet wird. Hat jemand eine Lösung? Hier meine Scripts:
checkuser.php:
PHP-Code:
<?php
session_start ();
if (isset ($_SESSION["user_id"]))
{
$eingeloggt = 'ja';
}
?>
download.php:
PHP-Code:
<?php
/*
* Der Ordner indem sich die Dateien befinden
*/
$download_dir = "Downloads/";
/*
* Die herunterladbaren Dateien:
*/
$files = array(
"1" => "button.psd",
"2" => "text.txt",
"3" => "doc.pdf",
"4" => "bild3.jpg",
);
/*
* Den kompletten Pfad der Datei (+Dateiname) in $file speichern
*/
$file = $download_dir.$files[$_GET['id']];
if(!file_exists($file)) {
echo "Die Datei existiert nicht bzw. ist nicht erreichbar!!";
exit();
}
include('include/checkuser.php');
if($eingeloggt != 'ja') {
echo "Sie sind nicht eingeloggt. Um sich einloggen zu können, müssen Sie sich registriert haben.";
exit();
}
/*
* Header-Einstellungen
*/
header("Content-Type: x-type/subtype");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".$files[$_GET['id']]);
/*
* Das "Speichern-Unter"-Fenster erscheinen lassen
*/
readfile($file);
?>
<body>
die dl seite....
</body>