Hi!
Ich habe ein kleines Problem (hoffe ich doch)
Ich benutze PHP Version 4.3.3 und wollte folgendes realisieren:
Auf meiner Homepage gibt es einen Loginbereich. Wenn man sich dort erfolgreich angemeldet hat, wird eine Sessionvariable $_SESSION['allowed'] auf 1 gesetzt. Dann kann ich auf jeder Seite
prüfen, ob die Sessionvariable existiert, oder nicht. Das läuft auch wunderbar.
Nur jetzt wollte ich für die eingeloggten Leute ein Download Sektion machen, in denen Sie unsere Übungszettel etc runterladen können. Diese Datein sind PDFs. Die Datein liegen nicht im html-Ordner, sondern im files/papers Order.
Die Download.php datei sieht folgendermaßen aus:
Code:
<?php
session_start();
include 'functions.php';
?>
<html>
<body onLoad="javascript:zich_fenster()"></body>
<head>
<link href="../layout.css" rel="stylesheet" type="text/css" />
</head>
<?php
createPage();
if (!isset($_SESSION['allowed'])) {
print"<div class='title'>Keine Berechtigung auf dieser Seite</div>";
}
else
{
if($file==1){
$filename = "/srv/www/htdocs/web4/files/papers/Cg_Toolkit.pdf";
header("Content-Type: application/octet-stream");
$save_as_name = "Cg_Toolkit.pdf";
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
readfile($filename);
}
}
?>
Das Problem ist glaube ich, dass die Headerinformationen für die Session schon ganz oben geschickt worden sind, und das nicht nochmal geht. Wenn ich die Datei aufrufe, kommt folgende Fehlermeldung:
Zitat:
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web4/html/functions.php:13) in /srv/www/htdocs/web4/html/download.php on line 29
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web4/html/functions.php:13) in /srv/www/htdocs/web4/html/download.php on line 33
|
Und danach kommen tonnenweise ASCII-Zeichen. Also denke ich, dass er die Datei versucht runterzuladen, aber man kann halt nicht angeben wohin etc.
Ich hoffe ich konnte mein Problem einigermaßen beschreiben.
Würde mich über Hilfe sehr freuen, denn das ist irgendwie doof, wenn das nicht gehen würde.
Mfg
Hauke
