Thomas Luethi: Headers already sent, Location: (wieder mal...)

Beitrag lesen

Hallo,

Was ist hier falsch? Er sagt mir
Headers already send (error in link 169)
  header("Location: lesen.php3?eintrag=". (int)mysql_insert_id()); // Benutzer auf den neuen Eintrag umleiten

Warum es die Fehlermeldung gibt, steht in der dclp-FAQ:
http://www.dclp-faq.de/q/q-fehler-header.html

---

Die obige Zeile hat noch einen anderen Fehler:
Die URL nach Location muss absolut/vollstaendig sein, also mit "http://" beginnen.

http://www.php.net/manual/de/function.header.php#AEN30218
"Anmerkung:  HTTP/1.1 verlangt einen absoluten URI inkl. dem Schema,
Hostnamen und absoluten Pfad als Argument von Location:, aber manche
Clients akzeptieren auch relative URIs."

Der entsprechende Abschnitt in der HTTP/1.1 Spezifikation ist:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30

Es ist also Glueckssache, dass die Umleitung in einigen Browsern
funktioniert; die URL muss unbedingt absolut sein.

---

Es war unnoetig, die ganze Code-Wueste zu schicken.
In Deinem Fall war der "Fehler" wirklich in der genannten Zeile.
Ab und zu kommt es vor, dass er ein paar Zeilen weiter oben ist,
z.B. bei nicht geschlossenen Anfuehrungszeichen oder geschweiften Klammern.

Und bitte waehle das naechste mal ein aussagekraeftigeres Subject. </faq/#Q-06a>

mfg
Thomas