Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Formulardaten nach Fehlerprüfung gelöscht

Einklappen

Neue Werbung 2019

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

  • PHP Formulardaten nach Fehlerprüfung gelöscht

    Hallo Leute,

    ich arbeite derzeit an einem Formular, welches eine Fehlerprüfung beinhaltet. Klickt der User auf "Senden", prüft das Formular, ob ein oder mehr Pflichtfeld/er vergessen wurden auszufüllen (Radiobuttons/ Checkboxen/ etc.).

    Diese Prüfung funktioniert sauber!

    Das Problem
    Wenn Pflichtfelder vergessen wurden auszufüllen, erscheint eine Info, mit der Bitte das entsprechende Feld noch zu belegen. Jedoch sind hier, nach der Fehlerprüfung, alle vorher aktivierten Radiobuttons + Checkboxen unchecked.

    Wer kann mir helfen? Vielen dank im Voraus!



    Bsp:

    <ul>
    <li>
    <b>1. Frage</b><br />blablabla

    <div>

    <select name='select1'>
    <option value='0'>-- Anzahl --</option>
    <option value='A'>Antwort A</option>
    <option value='B'>Antwort B</option>
    </select>

    </div>
    </li>
    </ul>

  • #2
    Brauchst du nur ein paar Threads unter deinem gucken:

    http://www.php.de/php-einsteiger/162...html#post12024

    und bei selects: if($_POST['select1']=='A') echo 'selected="selecetd"';

    Kommentar


    • #3
      Du hast leider vergessen zu erwähnen, wie du die Fehlerprüfung und das Übermitteln des Formulars machst.

      Kommentar


      • #4
        Hier die Fehlerprüfung:

        <?php
        //Mit $sent==1 wird getestet, ob das Formular abgeschickt wurde

        if ($sent==1)
        {

        //Testen ob alle Felder ausgefüllt wurden und gegebenenfalls Fehlermeldungen
        //ausgeben und $sent löschen, damit das Formular erneut angezeigt wird

        echo '<table>';
        echo '<tr>';
        echo '<td>';
        if (!$select1) {echo '<font>Bitte beantworten Sie noch Frage 1.</font><br>';unset($sent);}
        echo '</td>';
        echo '</tr>';
        echo '</table>';


        //Testen, ob alle Felder ausgefüllt wurden. Wenn ja, die E-Mail vorbereiten und verschicken
        If($select1)
        {

        //Den Nachrichtentext der E-Mail für eine HTML-Mail zusammenbauen
        $message .= "Datum: ".date("d.m.y")."\n";
        $message .= "Uhrzeit: ".date("H:i")."\n";
        …

        Kommentar


        • #5
          Dann siehe hier: http://www.php.de/php-einsteiger/164...html#post12097

          Kommentar


          • #6
            aaaargh register_globals!!!! danach suchen und dringend wegmachen und meinen post von eben nicht ignorieren

            Kommentar


            • #7
              Okay,

              @cycap: Mein Beispiel (s. unten) befindet sich in normalem Html-Quellcode:

              <ul>
              <li>
              <b>1. Frage</b><br />blablabla

              <div>

              <select name='select1'>
              <option value='0'>-- Anzahl --</option>
              <option value='A'>Antwort A</option>
              <option value='B'>Antwort B</option>
              </select>

              </div>
              </li>
              </ul>

              Dein Tipp schaut nach PHP-Code aus.

              if($_POST['select1']=='A') echo 'selected="selecetd"';


              Wie verschmelze ich das miteinander? Vielen Dank im Voraus!

              Kommentar


              • #8
                Zitat von cycap Beitrag anzeigen
                aaaargh register_globals!!!! danach suchen und dringend wegmachen und meinen post von eben nicht ignorieren
                Auf diesen hab ich ihn verwiesen

                Kommentar


                • #9
                  Dein Tipp schaut nach PHP-Code aus.

                  if($_POST['select1']=='A') echo 'selected="selecetd"';


                  Wie verschmelze ich das miteinander? Vielen Dank im Voraus!
                  Ich hoffe das war nicht ernst gemeint. Ansonsten: Grundlagen lernen... wie PHP und HTML zusammen gehören MUSS man wissen, sowas lernt man normalerweise gleich nach "Hallo Welt"

                  Kommentar


                  • #10
                    Vielen Dank für die rasche Hilfe! Jetzt funzt es.


                    <div>
                    <select class="selectbox">
                    <option value='0'>-- Anzahl --</option>
                    <option value='A' <? if($_POST['select1']=='A') echo 'selected="selecetd"'?>>Antwort A</option>
                    option value='B'>Antwort B</option>
                    </select>
                    </div>

                    Kommentar


                    • #11
                      Ich hab noch nen Rechtschreibfehler gemacht den du übernommen hast, aber den findest du sicher selber

                      Kommentar


                      • #12
                        Wenn zufälligerweise A selktiert wurde, stimmt das, sonst natürlich nicht.
                        PHP-Code:
                        $ausw = array(aray('0''A''B'), array('--Auswahl--''Antwort A''Antwort B'));
                        echo 
                        "<select class='selectbox' name='select1'>\n";
                        for(
                        $i 0;$i count($ausw[0]);$i ++){
                            
                        $sel =  ($ausw[0][$i] == $_POST['select1']) ? " selected='selected'" '':
                            echo 
                        "<option value='" $ausw[0][$i] . "'  $sel>" $ausw[1][$i] . "</option>\n";
                        }
                        echo 
                        " </select>\n"
                        PS
                        Benutze bitte PHP-Tags, wie es auch in den Forumsregeln steht.
                        Gruss
                        L

                        Kommentar


                        • #13
                          Beim statischen HTML-Code schrieb ich bisher immer:

                          PHP-Code:
                          <select name="wert">
                            <
                          option value="Wert1">Anzeige1</option>
                            <
                          option value="Wert2">Anzeige2</option>
                            <
                          option value="Wert3" selected>Anzeige3</option>
                          </
                          select
                          Der mehrmals gegebene Hinweis oben:

                          PHP-Code:
                          echo 'selected="selected"' 
                          führt hingegen zu:

                          PHP-Code:
                          <select name="wert">
                            <
                          option value="Wert1">Anzeige1</option>
                            <
                          option value="Wert2">Anzeige2</option>
                            <
                          option value="Wert3" selected="selected">Anzeige3</option>
                          </
                          select
                          was mir irgendwie spanisch vorkommt. Denke ich grade krumm?

                          Muss es im PHP-Code nicht eher heißen:


                          PHP-Code:
                          echo 'selected'
                          [PHP]if ($var != 0) {
                          $var = 0;
                          }[/PHP]

                          Kommentar


                          • #14
                            korrektes xhtml ist selected="selected" auch wenns komisch aussieht

                            Kommentar


                            • #15
                              Vielen dank für die rege Beteiligung in diesem Thread!

                              Hier habe ich noch eine Frage:

                              PHP-Code:
                              <option value='A' <? if($_POST['select1']=='A') echo 'selected="selecetd"'?>
                              >Antwort A</option>
                              funktioniert nun fehlerfrei!

                              Wie verfahre ich jedoch, wenn ich ein Textfeld habe, deren Werte während der Fehlerprüfung gemerkt werden sollen?

                              PHP-Code:
                              <div>
                              <textarea name="nachricht" value="<?php echo $nachricht;?>" rows="3">
                              </textarea>
                              </div>
                              dieser Ausdruck hier macht wenig Sinn.

                              Freue mich über eine Anregung zur Problemlösung.

                              Kommentar

                              Lädt...
                              X