tox: header("location:... headed nicht

Hallo,

ich möchte am Ende eines Skriptes ein Weiteres aufrufen. Leider bekomme ich folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at D:...\admin\add\object\process.php:5) in D:...\admin\add\object\process.php on line 21

Der Aufruf sieht so aus:

header ("Location:index.php".$link_ext);

Dieser Aufruf funktionierte bisher auf meinem Webserver, hier lokal (XAMPP) nun nicht mehr. Warum?

Danke und Gruss

  1. Hallo,

    Warning: Cannot modify header information - headers already sent by (output started at D:...\admin\add\object\process.php:5) in D:...\admin\add\object\process.php on line 21

    http://www.google.at/search?hl=de&q=headers+already+sent

    Gruß,
    Severin

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
    -- Benjamin Franklin
    1. Hallo Severin,

      danke, ich hatte tatsächlich Ausgaben vorher drin. Jetzt funzzt es ordentlich.

      Danke und Gruss

  2. Hi,

    header ("Location:index.php".$link_ext);

    egal was in $link_ext steht: An "index.php" angefügt wird es nie zu einer absoluten URL - zumindest mit keinem Protokoll, das ein mir bekannter HTTP-Client unterstützen würde. Somit ist dieser Code defekt.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi Cheatah,

      egal was in $link_ext steht: An "index.php" angefügt wird es nie zu einer absoluten URL - zumindest mit keinem Protokoll, das ein mir bekannter HTTP-Client unterstützen würde.

      Es geht aber. Warum sollte es nicht?

      Gruss

      1. Hi,

        Es geht aber.

        "es geht" war bei der Software-Entwicklung noch niemals von einer wie auch immer gearteten Relevanz (im Gegensatz zu "es geht nicht"). "Es ist falsch" hingegen ist ein Ausschlusskriterium.

        Warum sollte es nicht?

        Weil RFC 2616 dies sehr, sehr klar verbietet:

        Location       = "Location" ":" absoluteURI

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo Cheatah,

          Weil RFC 2616 dies sehr, sehr klar verbietet:

          Location       = "Location" ":" absoluteURI

          Auf Dich ist wieder Verlass, danke. Ist ja auch kein Problem, wenn man daran denkt. Das werde ich in Zukunft immer.

          Doch fällt mir auf, dass Du in letzter Zeit etwas brummig klingst. Bist Du vielleicht urlaubsreif?

          Ich wünsch Dir auf alle Fälle noch eine wunderhübschen Tag.

          und Gruss

      2. Hi,

        Es geht aber. Warum sollte es nicht?

        gehen tut vieles, das macht es noch lange nicht richtig. Du baust dabei aber auf automatische Fehlerkorrektur der Browser. Das mag augenscheinlich gehen, es kann aber auch zu unerwünschten Ergebnissen führen wenn ein Client mal nicht so reagiert wie von dir erwartet.
        Wie dir auch das Manual an entsprechender Stelle sagt, musst du laut HTTP-Protokoll eine absolute URL angeben.

        MfG
        Rouven

        --
        -------------------
        There's no such thing as a free lunch  --  Milton Friedman
        1. Hi Rouven,

          es kann aber auch zu unerwünschten Ergebnissen führen

          Und das wollen wir doch alle nicht, oder? ;-)

          Wie dir auch das Manual an entsprechender Stelle sagt, musst du laut HTTP-Protokoll eine absolute URL angeben.

          1000 Dank. Solche Hinweise sind echt wertvoll. Ich hätte es sonst ohne absoluten Link gelassen.

          Gruss