AndreD: Weiterleitung funktioniert wegen Include nicht?

Beitrag lesen

Hallo zusammen,

ich habe hier ein seltsames Problem das in dieser Form bei mir noch nie aufgetreten ist. Ich binde eine config.php über include_once so ein:

include_once( $_SERVER["DOCUMENT_ROOT"] . "/php/config.php" );

In dieser werden wiederum Klassen, Funktionen per include_once eingebunden sowie Konstanten definiert. Das hat bisher auch alles soweit funktioniert:

include_once( $_SERVER["DOCUMENT_ROOT"] . "/php/class_dbconnect.php" );
include_once( $_SERVER["DOCUMENT_ROOT"] . "/php/functions.php" );
.
.
.
define( "C_IMAGE_DIR", "images/" );
define( "C_ADMIN_DIR", "admin/" );
define( "C_FILES_DIR", "files/" );
.
.
. usw...

Wenn ich nun aber in einer Datei eine Weiterleitung per

header( "Location: " . C_ADMIN_PATH . "stundenplan.php?filename=" . $filename . "&send=1" );
die();

ausführen möchte bekomme ich die bekannte Fehlermeldung:

"Warning: Cannot modify header information - headers already sent by (output started at g:\www\tanzundgymnastik\php\config.php:177) in g:\www\tanzundgymnastik\admin\stundenplan_edit.php on line 159"

Auf Zeile 159 ist natürlich der header(), in der config.php wird keine Ausgabe vorgenommen, im Scourcecode der erzeugten Datei steht ausser der Fehlermeldung auch nichts drin!

Wenn ich nun die config.php direkt in die Datei anstatt dem include_once reinsetze funktioniert alles, d.h. der header() wird ausgeführt?

  • Ich habe schon alternativ zum include_once() auch require_once(), require() und include() getestet, hat wie erwartet auch nix gebracht.

  • Ich dachte mir das ich evt. meinen lokalen Server falsch konfiguriert habe und hab das ganze auf einen Liveserver gestellt, da ging es auch nur wenn ich die config-Datei direkt reingeschrieben habe...

Habe im Moment kein Schimmer was da nicht passt, bei anderen Projekten habe ich das auch schon so ohne Probleme erledigt?

Vielleicht fällt noch jemand von Euch was dazu ein?
Danke & Gruss AndreD