Ankündigung

Einklappen
Keine Ankündigung bisher.

Request Forwarder

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Request Forwarder

    Hallo Leute,

    bin Neueinsteiger und habe mich privat ein wenig in PHP eingearbeiet. Nun bin ich aber
    bei meiner Beispielanwendung auf ein Problem gestoßen und hoffe hier auf Hilfe.

    Aufgabe:
    Ich habe ein Formular, dass ich über einen SUBMIT an sich selbst schicke, um es zu validieren (Felder checken).
    Wenn einige Felder nicht richtig gefüllt sind usw. dann sollen halt Fehlermeldungen ausgeben werden und auf der aktuellen Seite verblieben werden.
    Wenn aber alles Okay ist, dann soll der ganze "Ramsch" (Request) an eine zweite Seite weitergeleitet werden..

    Frage:
    Gibt es bei PHP irgendetwas wie eine Forward-Befehl?
    In Java gibt es z.B.
    - <jsp:forward page="pfad"/> ... oder
    - getServletContext().getRequestDispatcher("pfad").f orward(request,response)

    Genau so etwas suche ich auch für PHP.

    Wenn es so etwas nicht speziell als Befehl gibt, wie könnte man das mit dem "header"-Befehl lösen?

    Nebenbedingungen
    Was ich nicht will, ist den "Kram" in die Session zu speichern ... nur wenn es wirklich nicht anders geht.


    Im voraus schonmal Danke.

    Grüße

    St.Jack

  • #2
    Okay, habe die Sache selbst "hingepfuscht" bekommen ... über "header".

    - output buffering in der php.ini eingeschaltet.
    - den Request einfach ausgelesen und als Parameter in den Response geschrieben
    PHP-Code:
           header("HTTP/1.1 302 REDIRECT");
           
    $relURL "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']) ."/eineAnonymeSeite.php";

           
    $i 0;
           while (
    $request each($_REQUEST)) {
             
             
    //beim ersten Parameter muss ein '?' stehen, sonst immer '&'
             
    if ($i == 0) {
               
    $relURL $relURL."?";
             } else {
               
    $relURL $relURL."&";
             }
             
             
    $relURL $relURL.$request['key']."=".$request['value'];    //Key-Value Paar in die URL schreiben
                   
             
    $i++;
           }
           
           
    header("Location: ".$relURL); 
    Das funktioniert zwar, aber die Frage ist - geht das noch cooler und einfacher?

    Kommentar

    Lädt...
    X