php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.06.2006, 20:32  
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 147
möchtegernchegga
möchtegernchegga eine Nachricht über ICQ schicken
Standard Header: 2 gesendet (Session, DL Script)

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>
möchtegernchegga ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.06.2006, 20:41  
Gast
 
Beiträge: n/a
Standard

session_start() kann einen cookie setzen. Das ist ein http-header.
Aber das stört eigentlich nicht.
Welche Symptome beunruhigen Dich?
 
Alt 06.06.2006, 20:58  
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 147
möchtegernchegga
möchtegernchegga eine Nachricht über ICQ schicken
Standard

fehlermeldung:

Warning: Cannot add header information - headers already sent by (output started at /mnt/kw2/07/643/00000011/htdocs/frembs/include/checkuser.php:7) in /mnt/kw2/07/643/00000011/htdocs/frembs/download.php on line 41

Warning: Cannot add header information - headers already sent by (output started at /mnt/kw2/07/643/00000011/htdocs/frembs/include/checkuser.php:7) in /mnt/kw2/07/643/00000011/htdocs/frembs/download.php on line 42

Warning: Cannot add header information - headers already sent by (output started at /mnt/kw2/07/643/00000011/htdocs/frembs/include/checkuser.php:7) in /mnt/kw2/07/643/00000011/htdocs/frembs/download.php on line 43
möchtegernchegga ist offline  
Alt 06.06.2006, 21:08  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du möchtest einen header() senden, aber hast bereits vorher eine Ausgabe gesendet (output started at /mnt/kw2/07/643/00000011/htdocs/frembs/include/checkuser.php, Zeile 7).
Das ist eben nicht erlaubt.
Zergling-new ist offline  
Alt 06.06.2006, 21:13  
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 147
möchtegernchegga
möchtegernchegga eine Nachricht über ICQ schicken
Standard

ja soviel habe ich auch gepeilt, nur wie kann ich das umgehen?
möchtegernchegga ist offline  
Alt 06.06.2006, 21:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Garnicht. Du musst eben dein Skript umstrukturieren.
Zergling-new ist offline  
Alt 06.06.2006, 21:17  
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 147
möchtegernchegga
möchtegernchegga eine Nachricht über ICQ schicken
Standard

ja gut, aber ich weiß nicht wie ich das schaffen soll! die beiden sachen müssen drinnen sein. also is eben meine frage WIE ich das umstrukturieren kann.

€dit: gibt es vllt ne möglichkeit die daten, ob man eingeloggt ist, anders zu übermitteln?
möchtegernchegga ist offline  
Alt 06.06.2006, 23:18  
Gast
 
Beiträge: n/a
Standard

Das Problem sind nicht die verschiedenen header() Anweisungen, sondern die Ausgabe.
Was steht in Zeile 7 von /mnt/kw2/07/643/00000011/htdocs/frembs/include/checkuser.php ?
 
Alt 06.06.2006, 23:24  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Bruchpilot
Das Problem sind nicht die verschiedenen header() Anweisungen, sondern die Ausgabe.
Was steht in Zeile 7 von /mnt/kw2/07/643/00000011/htdocs/frembs/include/checkuser.php ?
Das hat auch niemand behauptet.
Zergling-new ist offline  
Alt 06.06.2006, 23:51  
Gast
 
Beiträge: n/a
Standard

a) Doch, gleich im ersten Post.
b) Aber vielleicht immer noch gedacht.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Session Script Riedi PHP-Fortgeschrittene 2 04.02.2008 16:16
https header und Cookie TailerD PHP Tipps 2008 5 26.01.2008 19:54
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
Sessionvaribale bekommen wenn header schon gesendet wurde obi PHP Tipps 2007 8 04.08.2007 18:16
Session in Session tinchen PHP Tipps 2007 22 21.03.2007 19:53
HTTP Header empfangen ? atom-dragon PHP Tipps 2005-2 16 03.09.2005 20:10
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
Session und Fehlermeldung Your script possibly relies on a.. nieselfriem PHP Tipps 2005-2 2 17.06.2005 16:08
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
ankommender http header in einem php script auslesen PHP Tipps 2004 0 19.07.2004 23:37
Problem mit Header und $HTTP_REFERER PHP Tipps 2004 4 11.07.2004 12:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
include und session, $file =$download_dir.$files [$_get[\'id\']];

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.