Fehler bei der Weiterleitung in php PDF Drucken E-Mail

Sehr häufig kommt es vor, das man auf eine andere Seite Umleiten möchte und verwendet dazu den Konstrukt header(), in der Form :

header(“Location: http://www.example.com/“);
// weiterer Quellcode
Exit;
?>

Jedoch es will einfach nicht funktionieren, stattdessen bringt euch der Browser die Fehlermeldung

Cannot modify header information - headers already sent by ….

Eine mögliche Ursache könnte sein, das sich eine Leerstelle vor dem php-Tag eingeschlichen hat. Dies geschieht sehr häufig und man verbringt sehr viel Zeit damit diesen Fehler zu finden, da er ja nicht zu sehen ist.

Hinweis: Bei einem Aufruf des header() Konstrukts, darf absolut kein einziger HTML Tag vor der öffnenden Klammer (Eine Möglichkeit dies zu umgehen ist die Verwendung von Output-Buffering, seit PHP 4. Um dies zu tun, verwenden Sie in Ihrem Skript ob_start() und ob_end_flush().
Durch ob_start() wird die Ausgabe gepuffert und solange diese Pufferung im Script aktiv ist, erfolgt keine Ausgabe.
Folglich zum Deaktivieren der Ausgabe-Pufferung verwenden Sie ob_end_flush().
Das heißt der Inhalt des Ausgabe-Puffers (sofern einer vorhanden ist) wird abgeschickt und die Pufferung der Ausgabe deaktiviert. Falls sie mit dem Puffer-Inhalt weiter arbeiten möchten, müssen sie diesen erst per ob_get_contents() zwischen speichern bevor sie ob_end_flush() aufrufen, da dadurch der Puffer geleert wird.

Probleme oder Fragen? Wir helfen gerne über unsere 24h Hotline: 0171 22 77 77 3.

Zuletzt aktualisiert am Samstag, 20. Februar 2010 um 20:35 Uhr
 
MisterwongOneviewAlltagzLinkarenaYiggDeliciousTechnoratiFurlYahoo_myweb
Google_bmarksBlinklistMagnoliaWindows_liveDiggNetscapeStumbleuponNewsvineReddit
TailrankSpurlWas ist Social Bookmarking