Formularinhalte beibehalten

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

  • Formularinhalte beibehalten

    Ich bastel gerade an meinem ersten PHP-Formular und hab da ein kleines Problem.

    Ich hab ein paar Pflichtfelder, dich ich überprüfe ob sie ausgefüllt sind. Falls das nicht der Fall ist wird eine kurze Meldungen gemacht.

    Jetzt würde ich gerne den Inhalt der bereits ausgefüllten Felder beibehalten. Für normale Eingabefelder funktioniert das auch super mit

    <input class="textfeld" type="text" size="30" name="email" value="<?php echo $_POST['email'] ?>">

    Wie bekomm ich den gleichen Effekt für Radiobutton, Checkbox und Textarea?

    lg Alex

  • #2
    bei textareas wäre es ungefähr so...

    <textarea><?= echo $_POST['textarea'] ?></textarea>

    bei radiobutton gehst du am einfachsten über ein array vor.
    du prüfst welches der user ausgewählt hat und erzeugst ein array mit den valuewerten also..

    für button 1,2,3,4 (3 ausgewählt)
    $array[1] = '';
    $array[2] = '';
    $array[3] = 'selected';
    $array[4] = '';

    und ausgeben in den radios dann...


    <input type="Radio" name="radioname" <?=$array[1]?> value="v">
    <input type="Radio" name="radioname" <?=$array[2]?> value="v">
    <input type="Radio" name="radioname" <?=$array[3]?> value="v">
    <input type="Radio" name="radioname" <?=$array[4]?> value="v">

    mal so auf die schnelle ausgedacht! geht natürlich auch eleganter das array zu erzeigen..

    Kommentar


    • #3
      Re: Formularinhalte beibehalten

      Original geschrieben von Wellington
      Wie bekomm ich den gleichen Effekt für Radiobutton, Checkbox und Textarea?

      lg Alex
      Kurz und Gut. Über den Selben Weg. + checked="checked" oder halt nach html4.01 nur checked

      @ jens76
      selected geht nur bei
      Code:
       <option></option>
      Bitte Beachten.
      Foren-Regeln
      Danke

      Kommentar


      • #4
        js sorry verwechselt...

        Kommentar


        • #5
          Okay, das mit den Textarea klappt! Da hät ich aber auch selber drauf kommen können, hehe.

          Das andere mit den Radio... hmm
          Hab den Array genauso angelegt wie jens76 beschrieben und daas so in die Radiodinger eingefügt.

          <input type="radio" name="beruf2" <?=$array[2]?> value="v">

          Ich versteh das ehrlich gesagt auch noch nicht ganz,

          <?=$array[1]?> value="v"

          Wofür steht das v? Und wie bekomm ich den Arraywert in den Value?

          lg und schonmal Danke für die Hifle

          Alex

          Kommentar


          • #6
            über den "v" value überträgst du deine ausgewähltes radio! v ist in dem moment bei mir nur ein platzhalter! da sollten dann deine value-werte stehen...

            den arraywert brauchst du nicht im value! der sollte beim ausgewählten radio nur folgenden wert enthalten: checked="checked"

            das wurd dann über <?=...?> in den Input eingefügt und sieht ungefähr so aus...


            <input type="Radio" name="radioname" value="v">
            <input type="Radio" name="radioname" value="v">
            <input type="Radio" name="radioname" checked="checked" value="v">
            <input type="Radio" name="radioname" value="v">

            Kommentar


            • #7
              Oh man, schwer zu blicken für nen Anfänger...

              Nochmal bitte einen Schritt zurück.
              Wie prüfe ich denn welchen Radio der User angeklickt hat?

              lg Alex

              Kommentar


              • #8
                PHP-Code:
                for($i=0;$i<count($_POST['radioname'];$i++){
                  if(
                $_POST['radioname'][$i] == 'v'){
                    echo 
                '<input type="radio" name="radioname['.$i.']" value="v" checked="checked" />';
                  }else{
                    echo 
                '<input type="radio" name="radioname['.$i.']" value="v" />';
                  }

                So in die Richtung...

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von jens76

                  <input type="Radio" name="radioname" value="v">
                  <input type="Radio" name="radioname" value="v">
                  <input type="Radio" name="radioname" checked="checked" value="v">
                  <input type="Radio" name="radioname" value="v">
                  1. Ist das da kein Array
                  2. jahlives hats eben richtig gezeigt wie man es auswertet.
                  Bitte Beachten.
                  Foren-Regeln
                  Danke

                  Kommentar


                  • #10
                    Also brauch ich für jeden Radio so eine for-Schleife?

                    Hab das jetzt mal versucht und die erste Zeile schmeißt schon nen Fehler...

                    for($i=0;$i<count($_POST['radioname'];$i++){

                    Parse error: syntax error, unexpected ';' in /formmailer.php on line 73

                    Mach ich das erste oder zweite ; weg oder nen Komma hin

                    Parse error: syntax error, expected ';' in /formmailer.php on line 73

                    Kommentar


                    • #11
                      @Wellington
                      Sorry mein Fehler:
                      Mach mal noch ein ) als schliessende Klammer nach count($_POST['radioname'])

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Original geschrieben von Wyveres
                        1. Ist das da kein Array
                        2. jahlives hats eben richtig gezeigt wie man es auswertet.
                        ich habe da auch nie was von einem array übertragen geschrieben!

                        und wenn du dir die zeiten vom posting ansiehst dann was ich wohl gerade beim schrieben als jahlives postete

                        Kommentar


                        • #13
                          Jahlives kannst du mir vielleicht den oberen Code kommentieren?

                          Also ich lauf über das Array und frag an jeder Position ob es 'v' ist?
                          Und wie ist das da in die Ausgabe getüdelt, was passiert da mit dem ['.$i.']

                          Ich glaube ich hab auch meinen Radio noch falsch aufgebaut.
                          Also, ich hab 4 Auswahldinger.

                          <input type="radio" name="beruf1">beruf1</input>
                          <input type="radio" name="beruf2">beruf2</input>
                          <input type="radio" name="beruf4">beruf3</input>
                          <input type="radio" name="beruf5">beruf4</input>

                          Wo pack ich die For-Schleife denn nun hin?

                          lg Alex

                          Kommentar


                          • #14
                            Code:
                            <input type="radio" name="beruf[]" value="beruf1" />beruf1<br />
                            <input type="radio" name="beruf[]" value="beruf2" />beruf2<br />
                            <input type="radio" name="beruf[]" value="beruf3" />beruf3<br />
                            <input type="radio" name="beruf[]" value="beruf4" />beruf4<br />
                            Die for-Schleife kommt in den verarbeitenden Serverteil --> Google mal nach Affenformular
                            Und wie ist das da in die Ausgabe getüdelt, was passiert da mit dem ['.$i.']
                            Das [$i] brauchst du um bei jedem Durchlauf der Schleife das korrekte Element anzusprechen. Dies da alle radios in einem Array zusammengefasst sind (zumindest alle mit dem gleichen Namen)

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              jahlives, was soll der Unfug mit name="beruf[]"? Radiobutton werden automatisch gruppiert, wenn sie den gleichen Namen haben und es wird nur den ausgewählten Wert gesendet. Also warum sowas? Bei Checkboxes ist es anders, jedes Checkbox handelt für sich allein, daher macht man [] in Namen damit man php-seitig leichter handhaben kann; portiert man aber das Formular an ein anderes System, e.g. ASP, dann ist ja nichts mit Auswertung.

                              Kommentar

                              Lädt...
                              X