Formular

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

  • Formular

    OK, der nächste Newbie mit einer Frage:

    Ich habe ein Formular mit 3 Seiten (läuft momentan auch in 3 Dateien)!
    Ich möchte jetzt diese 3 Dateien zusammenfassen, also
    so das mit einem Link wie etwa http://meineseite.de/formular.php?function=step2 einfach die nächste Funktion aufgerufen wird, der User also denkt, er hätte 3 eigenständige seiten.
    Wie mache ich das, das mein script die Daten ab dem fragezeichen "übersetzen" kann, also weiß, was damit wo zu tun ist?

  • #2
    Hi,

    ist ziemlich einfach...

    if (function=="step2"){
    code für seite2
    }

    mit dem anhängen des ? erkennt php das die variable
    function den wert "step2" hat,
    netterweise ohne definition der variablen... ;-)

    wahrscheinlich hast du dann aber keinen Zugriff auf
    die "alten" variablen aus step1, die muß man dann der url noch anhängen also meinetwegen:

    http://~/formular.php?function=step2&name=peter lustig

    dabei wird dich freuen das IE das macht NN die Übertragung nach peter sein läßt - > Du mußt die variablen noch per
    urlencode behandeln: $name = urlencode($name);
    dann funzt es auch mit NN

    Gruß
    Thomas

    NACHTRAG: der Name "function" könnte Probleme bereiten...nimm lieber 'nen freien Name deiner Wahl...






    [Editiert von Thomas am 28-04-2001 um 01:45]
    Gruß
    Thomas

    Kommentar


    • #3
      Also ich habe jetzt die erste meines Formulars so:

      echo "<form action=eingabe.php?op=step2 method=post>";

      Und dann nach dem Formular diese Zeilen eingefügt:

      if (op=="step2"){
      Meine zweite seite
      }

      Aber das Problem ist, das die zweite seite gar net wirklich aufgerufen wird. Zwar steht dann im Browser das op=step2 hinter der URL, aber ich habe noch immer seite 1.

      Kommentar


      • #4
        eher so:

        <HTML>
        <HEAD>...und der HTML-Code der auf allem Seiten gleich
        sein soll


        <?
        if (op=="step2"){
        //restlicher code für seite2
        }
        //elseif (op=="step3"){
        //restlicher code für seite3
        }
        elseif (!op){ // op ist nicht gesetzt - also Seite 1
        //restlicher code für seite1
        ?>
        <form action=eingabe.php?op=step2 method=post>
        ...eingabefelder...
        <INPUT TYPE="submit" NAME="abschicken" VALUE="Abschicken !">
        <?
        }
        ?>

        dabei weiß ich nicht ob die Variablenübergabe via url bei <form action> funktioniert, ich arbeitete da lieber mit
        Hidden fields, denn so kann <FORM... noch zum statischen Teil gehören.
        Gruß
        Thomas
        Gruß
        Thomas

        Kommentar


        • #5
          Aaaahhhh...
          Danke Thomas, jetzt hab ich es kapiert. Funktioniert auch, nur leider werden die daten nicht via URL mitübertragen, wie du schon sagtest.
          Kann ich das Problem auch noch in den griff bekommen?

          Kommentar


          • #6
            hat sich erledigt, das Problem konnte ich selber lösen.
            Da ich ja mit Unterfunktionen arbeite brauhte ich die Unterfunktion nur dahin abhändern, das sie nicht
            function step2()
            heißen, sondern
            function step2($Name, $Adresse)

            und nochmals vielen Dank, Thomas.
            Schön das man in diesem Forum nicht wie anderswo als Anfänger ausgelacht wird!!!

            Kommentar

            Lädt...
            X