"AFFENFORMULAR"
Christoph
- php
Hallo,
ich bins nochmal... Hatte ja nach einer Möglichkeit gesucht Textfelder eines Formulars zu überprüfen ohne das meine Daten verschwinden. Mir wurde das sog. "Affenformular" empfohlen (Danke nochmal!). Habe das implementiert und es läuft sehr gut.
Habe jetzt nur folgendes Problem:
Nachdem alle Felder ausgefüllt sind lasse ich in der selben Seite alle Daten in meine DB schreiben und die Mail versenden und will danach via
header("LOCATION: seite.php");
Auf eine andere Seite weiterleiten. Ich bekomme allerdings folgende Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at ... form.php(792) : eval()'d code:11) in form.php on line 121
Was mache ich falsch? Jemand eine Idee? Vielen Dank schonmal!
Bin raus...
Hallo Freunde des gehobenen Forumsgenusses,
header("LOCATION: seite.php");
Warning: Cannot modify header information - headers already sent by (output started at ... form.php(792) : eval()'d code:11) in form.php on line 121
Du gibst eine Zeichenkette oder ein Zeichen aus (z.B. ein Leerzeichen / ein Zeilenumbruch) bevor du header() aufrufst. Zu dem Zeitpunkt, an dem du dann header aufrufst sind die HTTP-Header und die ersten Daten also schon beim Client.
Vermutlich ist am Anfang eines includes ein Zeilenumbruch o.ä.
Gruß
Alexander Brock
Hi Christoph!
Was mache ich falsch? Jemand eine Idee? Vielen Dank schonmal!
Alexander hat dir ja schon geholfen.
Es kann auch sein, dass du deine Datei UTF-8-kodiert mit BOM abspeicherst. Da kann es passieren, dass das BOM im Browser ausgegeben wird und die Header gesendet werden.
MfG H☼psel
Moin,
das hilft dir zwar nicht bei dem oben beschriebenem Problem weiter, aber
header("LOCATION: seite.php");
hier muss eine absolute URL angegeben werden, also komplett mit http:// usw. Es mag zwar so in manchen Browsern funktionieren, aber es ist dennoch falsch. ("Location" würde ich übrigens auch nicht durchgehen groß schreiben.)
Tschau,
Martin
Hallo Freunde des gehobenen Forumsgenusses,
"Location" würde ich übrigens auch nicht durchgehen groß schreiben.
RFC 2616 - 4.2 Message Headers
"Field names are case-insensitive"
Ein HTTP/1.1-kompatibler Client muss also auch "lOcAtIoN" akzeptieren *g*
Gruß
Alexander Brock