headers already sent...
Schorsch
- php
Guten Tag
Wenn ich meine DB-Verbindung per "require_once('db.php')" einbinde, kriege ich den Fehler: "headers already sent... "
Schreibe ich aber exakt(!) genau das, was in 'db.php' drin ist direkt ins File, verschwindet die Fehlermeldung.
Man könnte meinen, in der Datei 'db.php' werden irgendwelche Zeichen oder Leerzeichen ausgegeben, welche dann den Fehler verursachen. Dies ist aber nicht der Fall.
Was könnte sonst noch den Fehler verursachen?
Und warum ist er weg, wenn ich dieselbe Codezeilen anstelle von includen direkt in die Hauptdatei schreibe?
Gruss
Schorsch
Hallo,
"headers already sent..."
Du musst den header Befehln benutzen, _bevor_ du _irgendwas_ ausgibst.
Dazu zählen auch Zeilenumbrüche:
Falsch:
1
2 <?php
3 header(...);
4 ?>
Richtig:
1 <?php
2 header(...);
3 ?>
Falsch
1 <?php
2 echo "moin";
3 header(...);
4 ?>
Richtig
1 <?php
2 header(...);
3 echo "moin";
4 ?>
Denn so bald man etwas ausgibt, wird als Header Text genommen.
MFG
Andavos
Hi Schorsch,
schau mal, ob nach <?php .... ?> in deiner db.php vielleicht eine lerrzeile kommt. Das könnte das Problem sein.
MFG Christof
Salut
schau mal, ob nach <?php .... ?> in deiner db.php vielleicht eine lerrzeile kommt.
Keine Leerzeile, kein Tab...
Gruss + Merci
Schorsch
Hello,
Wenn ich meine DB-Verbindung per "require_once('db.php')" einbinde, kriege ich den Fehler: "headers already sent... "
Schreibe ich aber exakt(!)
Das halte ich für eine Lüge ;-)) [1]
genau das, was in 'db.php' drin ist direkt ins File, verschwindet die Fehlermeldung.
[1] soll heißen, lass Dich nicht vom Schein blenden, sondern schau notfalls mit einem Hex-Editor genau nach, was wann gesendet wird. Du wirst in Deiner include-Datei noch für den Editor unsichtbare Zeichen haben.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Moin Schorsch,
Wenn ich meine DB-Verbindung per "require_once('db.php')" einbinde, kriege ich den Fehler: "headers already sent... "
Schreibe ich aber exakt(!) genau das, was in 'db.php' drin ist direkt ins File, verschwindet die Fehlermeldung.
obwohl das die Fehlermeldung natürlcih erzwingt, versuche mal folgendes:
Direkt vor dem include: echo 'Ich rufe include' und im include file:
echo ' Ich wurde included';
Jetzt schau mal ob einer der echos öfter als einmal erscheint.
Noch dazu scheint in db.php ein Fehler zu sein, welcher ausgegeben wird und dann die angezeigte (aber nicht ursprüngliche ) Fehlermeldung ausgibt.
Viel Glück beim Nachforschen.
regds
Mike©
Ihr seid die Besten!
Tatsächlich hatte es irgend etwas in der Include-Datei drin gehabt, was mit meinem Editor nicht zu sehen war. Hab die Datei komplett neu angelegt, jetzt funktionierts.
Verwirrend war, dass die "defekte" Include-Datei auf zwei Servern keine Probleme machte, erst auf dem Dritten...
Es sei gedankt!
Schorsch