Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Problem mit header...

  1. #1
    Teeny
    Registriert seit
    06.03.2008
    Beiträge
    41
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Problem mit header...

    Hallo zusammen,

    ich habe ein Problem mit header(). Ich habe ein Skript, welches nicht ganz auf meinem Mist gewachsen ist . Unter anderem werden in diesem einige Daten gesammelt und sollen dann in einer Datei zum Download angeboten.

    Das Problem ist nun, das das mit dem Download nicht wirklich klappt. Die folgenden Zeilen rufen Warnungen hervor:
    (Cannot modify header information - headers already sent by ....)

    Code:
    header("Pragma:public");
    header("Expires:0");
    header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); 
    header("Content-Type:$content_type");
    header("Content-Disposition:attachment; filename=\"$export_name\"");
    header("Content-Description:File Transfer");
    header("Content-Length:".filesize($tmpfname) );  
    header("Accept-Ranges:bytes");
    Weiter geht es dann mit:

    Code:
    readfile($tmpfname);             
    exit();
    Es wird keine Datei zum Download angeboten, sondern der Inhalt wird im Browser direkt angezeigt.

    Das mit dem ... headers already sent by...... liegt wohl daran, dass in der die Datei, in der die Daten gesammelt werden und die Datei zum download angeboten werden soll, in eine index.php included wird. In dieser wird schon ein Header gesendet. Also index.php (header gesendet)->inlcude export.php (...soll nochmal header gesendet werden...).

    Hat jemand eine idee, wie man das anders lösen könnte?

    Ich hatte eventuel daran gedacht, den Code oben in eine neue Datei zu schreiben, diese dann aus der export.php heraus aufzurufen und die benötigten Variablen an die neue Datei zu übergeben...($content_type, $tmpfname, $export_name)

    Kann man das eventuell so machen oder gibt es bessere Lösungen?

    Vielleicht noch der Hinweis....dass der Header schon in der index.php gesendet wird, liegt wohl daran, dass ich am Anfang der datei ein Codeschnipsel eingefügt habe, der zu meinem Counter gehört und dadurch der Seitenaufruf eben gezählt wird....Das kann ich nicht ändern, könnte nur den Counter ganz rausnehmen, aber dann wird die Seite nicht mehr gezählt.

    Wenn ich den Counter rausnehme, funktioniert das ganze einwandfrei....
    Also wird der Header schon durch den in die index.php eingebundenen Counter gesendet. Ursache gefunden, aber leider noch keine Lösung...
    Grüße
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Azubi(ne)
    Registriert seit
    09.06.2008
    Ort
    Lambrecht (Pfalz)
    Beiträge
    90
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Problem mit header...

    Hallo,

    möglich das du vor dem header() schon ein echo oder sowas hast?
    Wenn ja musst du das wegmachen dann geht es.

    echo ist nur eins davon, es gibt noch mehrere Funktionen die dieses Problem hervorrufen, kann dir aber nicht alle aufzählen, da ich das Problem nur mit echo gemacht habe.

    Schau mal nach =)

    Mfg
    Red

  3. #3
    Bandit
    Gast

    Standard AW: Problem mit header...

    Warum um alles in der Welt werden immer wieder verstummelte Fehlermeldungen gepostet. Das macht definitiv keinen Sinn!!! In der Fehlermeldung stehen noch weitere wichtige Informationen!

  4. #4
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Problem mit header...

    Evtl. hat man Sachen aus dem Script gelöscht und erinnert sich nicht mehr ganz.
    Hinweis:
    Für einfache Sites, vermeide die Ausgabe vor dem Senden von Headern, ist es ansonsten unvermeidlich, kannst du outputbuffering verwenden:
    http://de.php.net/ob_start
    http://de.php.net/ob_get_contents
    http://de.php.net/ob_end_clean
    http://de.php.net/manual/de/outcontr...tput-buffering

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    06.03.2008
    Beiträge
    41
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Problem mit header...

    Hallo zusammen,

    ich denke, dass ich den Fehler gefunden habe. Ich habe in das Skript, welches nicht laufen will einen Zähler integriert. Somit wird der Seitenaufruf gezählt. Wenn die Seite aufgerufen wird der Counter quasi ausgeführt. Dieser sendet dann bereits einen Header. Denke, dass ich das nicht verhindern kann. Ich will auch nicht wer weiß was an dem Counter ändern.

    Entweder müsste ich ihn rausnehmen oder mir was anderes überlegen. Das mit ob_start wird denke ich auch nicht funktionieren, da ich das ja quasi in den counter einbauen müsste, um es dann nach dem Header für den Download auszugeben.

  6. #6
    Bandit
    Gast

    Standard AW: Problem mit header...

    ob_start ist für solche Dinge ein Krücke, die nur unsaubere Programmierung ausbügeln soll.

    Wenn wir den Quellcode kennen würden, würde uns bestimmt eine Lösung einfallen.

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    06.03.2008
    Beiträge
    41
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Problem mit header...

    Hallo,

    der Code ist super umfangreich, da ich den den Code des Zählers und den Code des Skripts, um welches es geht posten müsste.
    Unsauber ist es ja nicht programmiert. Das Skript alleine läuft ohne Probleme, also ohne das Einfügen des Counters. Sobald ich aber den Counter einfüge, dieser muss direkt am Anfang der Seite eingefügt werden, die gezählt werden soll, gibt es eben den Fehler, dass der Header schon gesendet wurde. Ist ja auch klar, durch den Counter wird ein Header gesendet. Wenn ich dann den Header des Skriptes senden will gibts dann eben die Fehlermeldung.

    Ich habe das ganze nun auf zwei Dateien aufgeteilt. Somit habe ich das Problem umgangen. Vielleicht nicht die elegantestet Lösung.

    Grüße

  8. #8
    Bandit
    Gast

    Standard AW: Problem mit header...

    Ein Counter soll doch irgendwo einen Wert erhöhen, warum macht der denn dann eine Ausgabe?!

  9. #9
    SinnlosS
    Gast

    Standard AW: Problem mit header...

    Zitat Zitat von bandit600 Beitrag anzeigen
    Ein Counter soll doch irgendwo einen Wert erhöhen, warum macht der denn dann eine Ausgabe?!
    Frage ich mich auch.

    Liegt der Counter in einer anderen Datei und wird includet? Und ist diese vielleicht als utf8 gespeichert? utf8-Dokumente senden standardmäßig bom (byte order mark) welches eine Ausgabe schon vor Abarbeitung des Inhaltes erzeugt. Abhilfe schafft hier das Speichern des Dokumentes als utf8 ohne BOM. (Editoren wie z.B. Notepad++ bieten diese Option)

  10. #10
    Bandit
    Gast

    Standard AW: Problem mit header...

    Oder es gibt eine Leerzeile oder ein Leerzeichen vor <?php oder nach ?>

Ähnliche Themen

  1. Problem mit bild/menü im "header"
    Von quib im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 27.12.2007, 17:49
  2. Header
    Von CQ im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 7
    Letzter Beitrag: 18.10.2007, 22:47
  3. Großes Problem mit Header
    Von Lucas im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 15.06.2007, 14:33
  4. $header als variable für header.html
    Von im Forum HTML & CSS Forum
    Antworten: 13
    Letzter Beitrag: 15.10.2006, 14:24
  5. Header
    Von im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 2
    Letzter Beitrag: 27.11.2005, 17:03

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •