Hopsel: Header werden nicht gesendet

Hi alle!

Ich habe auf der Seite http://web.inf.tu-dresden.de/~s2976169/dps/temp.php folgenden Testcode:

<?php  
header("Location: http://web.inf.tu-dresden.de/~s2976169/dps/index.php");  
echo "huhu";  
?>

Der Header wird allerdings nicht gesendet. [1]
Mach ich etwas falsch oder ist PHP so konfiguriert?

[1] Zumindest gehe ich davon aus, da ich nicht auf die angegebene Seite gelange.

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:)
  1. Hi,

    Der Header wird allerdings nicht gesendet. [1]

    nein, statt dessen stehen dort die Bytes EF BB BF. Kannst Du einen Grund dafür erkennen? Alternativ: Kannst Du die PHP-Datei unausgeführt verfügbar machen, sprich: die Ausführung verhindern?

    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!

      Der Header wird allerdings nicht gesendet. [1]
      nein, statt dessen stehen dort die Bytes EF BB BF.

      Wo und wie kann man solche Dinge erfahren?

      Kannst Du einen Grund dafür erkennen?

      Ich bin überfragt.

      Alternativ: Kannst Du die PHP-Datei unausgeführt verfügbar machen, sprich: die Ausführung verhindern?

      Selbstverfreilich.

      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:)
      1. Hi,

        Wo und wie kann man solche Dinge erfahren?

        man schreibt sich einen Client, der (hinreichend) beliebige Requests ausführen und den Response auf geeignete Art ausgeben kann.

        Alternativ: Kannst Du die PHP-Datei unausgeführt verfügbar machen, sprich: die Ausführung verhindern?
        Selbstverfreilich.

        Die besagten Bytes befinden sich auch dort am Anfang. Sie stellen die erste Ausgabe dar, senden also den Header ab, verhindern somit das Erzeugen neuer Header, und die Fehlermeldung fällt wegen irgend einer PHP-Einstellung flach. Womit hast Du die Datei erstellt, übertragen und/oder sonstwie verändert?

        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.

          [...] und die Fehlermeldung fällt wegen irgend einer PHP-Einstellung flach.

          Stimmt, diese erfolgt ja (normalerweise) auch ohne error_reporting.

          Einen schönen Mittwoch noch.

          Gruß, Ashura

        2. Hi Cheatah!

          Die besagten Bytes befinden sich auch dort am Anfang.

          Wieso? :) Ich verstehe das nicht.

          Sie stellen die erste Ausgabe dar, senden also den Header ab, verhindern somit das Erzeugen neuer Header, und die Fehlermeldung fällt wegen irgend einer PHP-Einstellung flach.

          Nunja. Stelle ich error_reporting auf E_ALL, so wird mir natürlich eine Fehlermeldung angezeigt. Die sagt mir aber auch nur, dass die Header schon gesendet wurden.

          Das Problem tritt übrigens nur auf, wenn ich die Dateien im UTF-8-Format kodiere. ANSI-kodierte Dateien werden korrekt angezeigt.

          Womit hast Du die Datei erstellt, übertragen und/oder sonstwie verändert?

          Mit SciTE Version 1.66 erstellt und mit WinSCP übertragen.

          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:)
          1. Hi,

            Die besagten Bytes befinden sich auch dort am Anfang.
            Wieso? :) Ich verstehe das nicht.

            siehe Ashuras Posting. Er hatte die selbe Vermutung wie ich - und offenbar auch wie Du:

            Das Problem tritt übrigens nur auf, wenn ich die Dateien im UTF-8-Format kodiere. ANSI-kodierte Dateien werden korrekt angezeigt.

            There we go :-) Die Lösung dürfte damit fast klar sein.

            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!

              There we go :-) Die Lösung dürfte damit fast klar sein.

              Ähem. Nein. :)

              Ich könnte die Dateien in einem anderen Format abspeichern?
              Wie kann ich verhindern, dass ein Byte Order Mark gesetzt wird?

              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:)
              1. Hi,

                There we go :-) Die Lösung dürfte damit fast klar sein.
                Ähem. Nein. :)

                wetten? ;-)

                Ich könnte die Dateien in einem anderen Format abspeichern?
                Wie kann ich verhindern, dass ein Byte Order Mark gesetzt wird?

                Indem Du die Dateien in einem Format speichert, welches kein BOM benötigt.

                Die Alternative (also der Grund für das Wort "fast") wäre übrigens, dem Zielsystem eine korrekte Erkennung des Formates beizubringen. Ich bin mir aber nicht sicher, ob ich Dir dabei assistieren kann.

                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!

                  There we go :-) Die Lösung dürfte damit fast klar sein.
                  Ähem. Nein. :)
                  wetten? ;-)

                  Mit dir doch nicht. :)

                  Die Alternative (also der Grund für das Wort "fast") wäre übrigens, dem Zielsystem eine korrekte Erkennung des Formates beizubringen. Ich bin mir aber nicht sicher, ob ich Dir dabei assistieren kann.

                  Ist mit dem Zielsystem der Webserver gemeint, auf dem die Dateien liegen?

                  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:)
                  1. Hi,

                    wetten? ;-)
                    Mit dir doch nicht. :)

                    *g*

                    Ist mit dem Zielsystem der Webserver gemeint, auf dem die Dateien liegen?

                    Entweder die Server-Software, oder bereits das Filesystem. Aber wie gesagt: Diese Möglichkeit kann ich auch nur theoretisch in Erwägung ziehen, einen Ansatz kann ich nicht liefern. Ein anderes Format zu wählen halte ich für den intuitiveren (und vermutlich auch einfacheren) Weg.

                    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
                2. echo $begrüßung;

                  Wie kann ich verhindern, dass ein Byte Order Mark gesetzt wird?

                  Indem Du die Dateien in einem Format speichert, welches kein BOM benötigt.

                  UTF-8 wäre eins (-: Die BOM wird nicht benötigt, manche Editoren scheinen die aber ohne Einstellmöglichkeiten immer vornanzustellen.

                  echo "$verabschiedung $name";

              2. Hi

                Ich könnte die Dateien in einem anderen Format abspeichern?
                Wie kann ich verhindern, dass ein Byte Order Mark gesetzt wird?

                Verwende einen Editor der entweder kein UTF-8 kann oder einen der zwischen verschiedenen zeichenkodierungen konvertieren kann.

                Vielleicht findest du das ja interessant:
                http://juicystudio.com/article/utf-byte-order-mark.php[/link]
                [link]http://www.joelonsoftware.com/articles/Unicode.html[/link]

                lg bernhard

      2. Hallo Hopsel.

        Der Header wird allerdings nicht gesendet. [1]
        nein, statt dessen stehen dort die Bytes EF BB BF.

        Wo und wie kann man solche Dinge erfahren?

        Öffne die ausgebene und abgespeicherte Datei einmal in einem Hex-Editor:

        EF BB BF 68 75 68 75 0A

        Kannst Du einen Grund dafür erkennen?

        Ich bin überfragt.

        Dein Editor setzt beim UTF-8-kodierten Speichern die BOM.

        Alternativ: Kannst Du die PHP-Datei unausgeführt verfügbar machen, sprich: die Ausführung verhindern?

        Selbstverfreilich.

        Dort steht die BOM vor dem Header, es erfolgt also eine Ausgabe.

        Warum hast du error_reporting(E_ALL); nicht gesetzt?

        Einen schönen Mittwoch noch.

        Gruß, Ashura