Ankündigung

Einklappen
Keine Ankündigung bisher.

Grosses Formular mit case trennen?

Einklappen

Neue Werbung 2019

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

  • #16
    Wieso fasst du 1 und 2 nicht zusammen?

    Code:
    echo "<blockquote><strong>". _UEBERSCHRIFT."</strong>". _STEP1TXT;"</blockquote>";
    Sorry, aber vielleicht solltest du noch mal mit HTML anfangen. Eine Überschrift ist kein Zitat.

    Wofür man überlicherweise <blockquote> verwendet, kannst du hier nachlesen.

    Und hier geht es zu den Überschriften.

    Gruß
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #17
      Ich würde jeden echo-Block in eine Funktion packen (also z.B. showStep1(), showStep2() ...) Dann kannst du im jeweiligen case testen, ob alles korrekt ausgefüllt wurde, wenn ja rufst du showStep2() auf, wenn nein showStep1() und lässt den User das nochmal ausfüllen.

      Und zur Speicherung: Ich würde die gleiche Taktik wie ASP.NET benutzen (falls das in der neustens noch so ist, länger nicht mehr geschaut). Also alle Werte in ein Array, das Serialisieren, base64 encoden und als hidden-Field mitschleppen. Oder eben in Step 1 immer eine eindeutige ID generieren und diese als Schlüssel für die Speicherung in der Session benutzen.

      Kommentar


      • #18
        @ Asipak: Danke für den Hinweis, Das Layout ist nur ein Muster. Das ganze werde ich anpassen wenn der Code funktioniert....

        @mquadrat: Danke aber ASP.NET = Bahnhof, aber ich lese mich in die Funktion ein. Ist auch meine erste

        Kommentar


        • #19
          action = "" - nicht action = htmlspecialchars($_SERVER["PHP_SELF"])
          [PHP]if ($var != 0) {
          $var = 0;
          }[/PHP]

          Kommentar


          • #20


            Irgendwie steh ich auf dem Schlauch

            // case 1 => sende session //
            // case 2 session von case 1 angekommen => sende weitere session //
            // case 3 session von case 2 angekommen !- session von case 1 verloren -!//

            Was muss ich mit den Sessions machen damit sie über alle case verfügbar sind?

            Kommentar


            • #21
              Du scheinst die Funktionsweise von Sessions noch nicht verstanden zu haben. Ich empfehle dir, die Grundlagensammlung hier im Forum gründlich anzuschauen und zu lernen! Bspw. Session - php bar oder Tutorials - PHP / MySQL - Sessions - Überblick

              Kommentar


              • #22
                Deine Logik mit dem $wert, der da inkrementiert wird verstehe ich überhaupt nicht. Ich mache das so:

                Jede der drei Formulare hat ein hidden input mit dem Namen 'formular' und den Werten 1, 2 oder 3. Wenn der Controller also $_POST['formular'] = '2' sieht, dann weiß er, dass das Formular 2 abgeschickt wurde.

                Dann kannst du gerne mit der Case-Struktur kommen:

                PHP-Code:
                if ( isset($_POST['formular']) ) {
                  
                $formular $_POST['formular'];
                } else {
                  
                $formular '0';
                }

                switch (
                $formular) {

                  case 
                '0':
                    
                // Programmstart: Formular 1 ausgeben
                    
                include 'formular1.php';
                    break;
                  case 
                '1':
                    
                $fehler '';
                    
                // Eingabefelder prüfen, ggf. $fehler mit Fehlertext versehen
                    
                if ($fehler == '' ) {
                       include 
                'formular2.php';
                    } else {
                      include 
                'formular1.php';
                    }
                    break;

                  case 
                '2':
                    
                // usw.

                [PHP]if ($var != 0) {
                $var = 0;
                }[/PHP]

                Kommentar

                Lädt...
                X