Viennamade: Scriptausführung nach header("Location: ....)?

Hallo!

Ich möchte Euch fragen ob Scriptzeilen, die nach einer solchen
   header("Location: http://www.example.com/")
folgen ausgeführt werden.

Ich habe eben ewig nach einem Fehler gesucht und der deutet darauf hin, daß der Quelltext danach ausgeführt wird, obwohl die Umleitung erfolgreich funktioniert.
Erscheint mir so absurd (aber wahrscheinlich habe ich einen Denkfehler), daß ich gar nicht hier fragen wollte. Andererseits: http://at.php.net/manual/de/function.header.php, das Beispiel im 4. grauen Kasten, da steht in der Zeile gleich nach der Umleitung "exit".

Danke
Viennamade

  1. Moin,

    Ich habe eben ewig nach einem Fehler gesucht und der deutet darauf hin, daß der Quelltext danach ausgeführt wird, obwohl die Umleitung erfolgreich funktioniert.
    Erscheint mir so absurd

    Noe, wieso? Mit header() legst du nur Response-Header fest die dann beim Senden der Antwort mit rausgeschickt werden. Auf das Skript hat das natürlich keinen Einfluss, lediglich auf das Aussehen der Antwort. Wenn du die Skriptausführung nach dem header() beenden willst musst du das natürlich extra mit die() o.ä. tun.

    --
    Henryk Plötz
    Grüße aus Berlin
    ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
    ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
    1. Hallo!

      Ich habe eben ewig nach einem Fehler gesucht und der deutet darauf hin, daß der Quelltext danach ausgeführt wird, obwohl die Umleitung erfolgreich funktioniert.
      Erscheint mir so absurd

      Noe, wieso?

      Moment! Wenn ich das - im Gegensatz zum Rest der Welt - als absurd empfinde, dann ist das doch absurd! Also ist es absurd ;-)

      Wenn du die Skriptausführung nach dem header() beenden willst musst du das natürlich extra mit die() o.ä. tun.

      Alles klar & Danke!
      Viennamade

      1. Halihallo Viennamade

        Noe, wieso?
        Moment! Wenn ich das - im Gegensatz zum Rest der Welt - als absurd empfinde, dann ist das doch absurd! Also ist es absurd ;-)

        Wenn du als alleinige Person dies als absurd erklärst, kann ich ja
        nochmals versuchen dir die Absurdität zu nehmen: ;)
        Die Weiterleitung macht nicht PHP, sondern der Client. Ob du ihm das
        sagst oder nicht hat keinen Einfluss auf die Ausführung von
        nachfolgendem Code, wie Henryk sagt, es ändert sich einfach die
        Ausgabe des Scripts...

        Aber wahrscheinlich hast du auch Henryk bereits verstanden ;)

        Wenn du die Skriptausführung nach dem header() beenden willst musst du das natürlich extra mit die() o.ä. tun.

        m.E. wäre 'exit' passender. 'die' nur beim Auftreten von Fehlern.

        Viele Grüsse

        Philipp

        --
        The only program that runs perfectly every time, is a virus.
        1. Hallo Philipp!

          Wenn du als alleinige Person dies als absurd erklärst, kann ich ja
          nochmals versuchen dir die Absurdität zu nehmen: ;)

          Also ein Weltverbesserer und Volksbeglücker!
          ;-)

          Die Weiterleitung macht nicht PHP, sondern der Client.

          Nein, im Ernst: Ich habs schon verstanden, Dank Eurer Postings und Dank Manual.

          m.E. wäre 'exit' passender. 'die' nur beim Auftreten von Fehlern.

          Ich hab mich für exit entschieden.

          Vielen Dank,
          Viennamade