header(locoation: test.php);
-
Hi!
Wieso kann ich nicht soviele header's senden, wie ich will.
Da kommt ja immer folgende Warnung:
Warning: Cannot modify header information - headers already sent by
Kann man die Fehlermeldung unterdrücken und die Aktion trotzdem ausführen lasen, ohne in der php.ini etwas zu ändern.
Ich habe nämlich nicht die Möglichkeit auf meine php.ini zuzugreifen.
Gruß
Wubbel
-
Hi,
wenn du den header senden willst, darft due vorher nichts anders ausgeben, da dann ein StdHeader gesendet wird und der nachträglich nicht verändert werden darf....MfG
Alexander Sulfrian
-
Oder vorher ob_start(); benutzen
-
btw:
Location verlangt eine absolute URL und keine relative.
-
Shade Of Mine schrieb:
btw:
Location verlangt eine absolute URL und keine relative.Das ist mir jetzt aber auch neu. Zumindest in meine PHP-Versionen
Funktioniert sogar das:
header("Location: answer.php?alert=".$alert. "&" .SID);
-
Die PHP-Doku zu <a href= schrieb:
header()">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. Gewöhnlich können Sie mittels $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] und dirname() aus einem relativen Link einen absoluten URI selbst erstellen.
-
Ich frage mich dann aber wieso obiges funktioniert.
Sowohl im IE 6 als auch mit Firefox und mit PHP 4.3.x und PHP 5.x
-
aber manche Clients akzeptieren auch relative URIs
Es wird wohl bei den meisten funktionieren, aber wenn du dich an den Standard halten willst (und eigentlich ist das ja hier ohne große Probleme leicht möglich), dann solltest du eben absolute URLs verwenden