Cruz: redirect

Hallo Jungs!

Ich versuche einen User auf eine andere Seite zu redirecten. Ich kann aber leider gar kein Perl..ich versuche quasi nur Scripte zusammenzukopieren.
Ok also..um den Browser zu einer anderen Seite zu redirecten benutze ich diesen Befehl:

print "Location: $form{'redirect'}\n\n";

richtig? Die URL steht im Value einer Form..die Variablenübergabe klappt richtig, weil mir nämlich das Script "Location: http://www.meinURL.com" einfach als Text ausgibt. Aber das ist ja nicht waas ich wollte..ich wollte die URL als Location.
Ich habe mal irgendwo aufgeschnappt, daß wenn

print "Content-type: text/html\n\n";

vorher im Script steht natürlich alles als html ausgegeben wird.

Also...wie kann ich denn trotzdem die URL in die Location setzen und nicht auf die Seite?

HELP!!

Cruz

  1. Ich habe mal irgendwo aufgeschnappt, daß wenn

    print "Content-type: text/html\n\n";

    vorher im Script steht natürlich alles als html ausgegeben wird.

    Also...wie kann ich denn trotzdem die URL in die Location setzen und nicht auf die Seite?

    Hallo,

    hier sind 2 Möglichkeiten für REDIRECT:

    1.Redirection mit CGI.PM, der Benutzer wird zum anderen URL geleitet
    Beispiel:
    use CGI;
    $q = new CGI;
    print $q->redirect('http://homepage');

    2. Mit print location, der Benutzer wird zum anderen URL geleitet
    Beispiel:
    $dok = "http://homepage"; #Pfad relativ oder absolut
    print "location: $dok";

    Hier also keinen Header senden..

    Probiers mal bitte aus.... Rolf

    PS: Heut is doch Samstag, n schönes WE also *grml *grml

  2. Hi,

    Ich habe mal irgendwo aufgeschnappt, daß wenn

    print "Content-type: text/html\n\n";

    vorher im Script steht natürlich alles als html ausgegeben wird.

    das ist korrekt. Es wird zunächst ein Header ausgegeben, der auf eine Leerzeile ("\n\n") beendet wird. Alles was danach kommt ist Inhalt.

    Also...wie kann ich denn trotzdem die URL in die Location setzen und nicht auf die Seite?

    Trotzdem? Gar nicht. Die Lösung ist aber ganz einfach: Schreibe den Header erst dann, wenn Du ihn brauchst! Also wenn Du _entschieden_ hast, daß HTML-Code ausgegeben wird, printest Du den Content-type, nicht vorher. Ansonsten versuchst Du, eine abgeschossene Gewehrkugel in eine andere Richtung zu lenken.

    Cheatah

    1. "Ansonsten versuchst Du, eine abgeschossene Gewehrkugel in eine andere Richtung zu lenken."

      Danke das war klar und deutlich :)

      Cruz

      1. Hi,

        "Ansonsten versuchst Du, eine abgeschossene Gewehrkugel in eine andere Richtung zu lenken."

        Danke das war klar und deutlich :)

        gell? Ich bin auch stolz auf diesen Vergleich :-)

        Cheatah

        1. Hi,

          "Ansonsten versuchst Du, eine abgeschossene Gewehrkugel in eine andere Richtung zu lenken."

          Danke das war klar und deutlich :)

          gell? Ich bin auch stolz auf diesen Vergleich :-)

          Cheatah

          Hallo Cheatah, Dein Vergleich gefällt mir auch!

          Herzliche Grüße, Rolf