Weiterleitung unschön?



  • Also folgendes. Habe ein kleines Formular und wenn auf den submit-button gedrück wird, prüft eine php-funktion die Inhalten der Felder. Gibt eine Funktion false zurück, wird der Eintrag nicht in die Datenbank eingetragen, bei erfolgreichem Eintrag möchte ich, dass der Benutzer auf eine andere Seite weitergeleitet wird. Da schon vorher php ausgegeben wurde, geht dies nicht mit header(Location: ) also habe ich es folgendermaßen gemacht:

    if($check == 1)
    {
    echo "<meta http-equiv='refresh' content='0; URL=result.php'>";
    }

    Jetzt würde mich interessieren, ob das stilistisch unschön ist, oder ob man das ruhig so machen kann!?
    MfG

    Tobsen


  • Mod

    mit header ist es um klassen besser.
    warum wird text ausgegeben wenn die seite doch nur die daten verifiziert?



  • Ich muss vorher Daten aus 'ner Datenbank auslesen und mit php ausgeben, deswegen geht's mit header net. Ist mein Ansatz denn kompatibel zu allen gängigen Browsern?



  • dann kannst du doch einfach zuerst prüfen und ggf. weiterleiten und dann deine Sachen ausgeben, oder du verwendest Output-Buffering
    PS: der <meta>-tag muss im <head>-Bereich stehen, das wird bei dir dann wohl auch nicht der Fall sein 🙄



  • @flenders nein, das geht nicht.

    Das ganze schaut nämlich folgendermaßen aus:
    Der User Sucht sich in einem Auswahlmenu eine Wohnung aus. Dann suche ich mit php in der Datenbank nach der gewünschten Wohnung und gebe deren Eingenschaften in der linken Tabelle aus. In der rechten Tabelle kann man dann die ausgewählte Wohnung buchen. Ich muss also zuerst auslesen und kann dann erst überprüfen!
    Nein, hatten den <meta>-tag wirklich nicht im head bereich, aber das wird kein Problem sein.
    MfG

    Tobsen


  • Mod

    Original erstellt von Tobsen:
    **Der User Sucht sich in einem Auswahlmenu eine Wohnung aus. Dann suche ich mit php in der Datenbank nach der gewünschten Wohnung und gebe deren Eingenschaften in der linken Tabelle aus. In der rechten Tabelle kann man dann die ausgewählte Wohnung buchen. Ich muss also zuerst auslesen und kann dann erst überprüfen!
    Nein, hatten den <meta>-tag wirklich nicht im head bereich, aber das wird kein Problem sein.
    **

    erklär mir mal, warum du ausgeben musst bevor du die daten validiert hast!

    user sagt: ich will wohnung 3 sehen.
    du zeigst informationen von wohnung 3 an.
    dann sagt er "buchen"
    du parst alle daten und sagst dann: buchung erfolgreich oder buchung fehlgeschlagen.

    wo musst du da daten ausgeben??

    du kannst ja auch daten erst ermitteln, dann auswerten und am schluss erst ausgeben...

    notfalls gibts ja noch ob_start()



  • Außerdem: wenn du den <meta>-tag in den <head>-Bereich setzen willst musst du doch auch wissen, ob weitergeleitet werden soll bevor du den eigentlichen Inhalt ausgibst 🙄
    Was macht das eigentlich für einen Sinn, viele Daten auszugeben und dann gleich weiterzuleiten 😕



  • <meta> Elemente dürfen nur im <head> Bereich stehen. Alles andere ist nicht Standardkonform und wird nicht auf allen Browsern funktionieren.



  • Hi!
    Wie funktioniert es denn mit header ?



  • So steht's in der PHP-Doku

    header("Location: [url=http://".\_SERVER['HTTP\_HOST'].dirname(_SERVER['PHP_SELF'])."/".relative\_url);]http://"._SERVER['HTTP_HOST'].dirname(\_SERVER['PHP\_SELF'])."/".relative_url);[/url]
    exit;

    [ Dieser Beitrag wurde am 26.02.2003 um 20:04 Uhr von flenders editiert. ]



  • Hi!

    Gibts das ganze auch dokumentiert ?



  • http://www.php.net/manual/en/function.header.php oder meintest du, was du bei header so alles angeben kannst? 🙄

    [ Dieser Beitrag wurde am 27.02.2003 um 14:05 Uhr von flenders editiert. ]



  • Hi!

    Nein, danke Flenders. Die Hilfe war gut.

    Bye



  • Original erstellt von flenders:
    **http://www.php.net/manual/en/function.header.php oder meintest du, was du bei header so alles angeben kannst? 🙄

    [ Dieser Beitrag wurde am 27.02.2003 um 14:05 Uhr von [qb]flenders** editiert. ][/QB]

    Das findet man übrigends hier: http://www.ietf.org/rfc/rfc1945.txt?number=1945
    und hier: http://www.ietf.org/rfc/rfc2068.txt?number=2068


Anmelden zum Antworten