Christoph: "AFFENFORMULAR"

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...

  1. 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

  2. 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

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  3. 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

    1. 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