Ankündigung

Einklappen
Keine Ankündigung bisher.

Auf Leere Inputs prüfen

Einklappen

Neue Werbung 2019

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

  • Auf Leere Inputs prüfen

    Moin,

    ich bin gerade dabei ein Formular zu erstellen, dort möchte ich gerne auf Leere Inputs prüfen und den Nutzer darauf aufmerksam machen, dass es bitte doch alle Felder ausfüllen soll.
    Diese Abfrage zu machen, habe ich bereits.

    Sobald man nun auf den z.B "Absenden" Button klickt und es Leere Felder gibt, wird der Benutzer darauf aufmerksam gemacht, allerdings werden auch die Felder, welche Bereits ausgefüllt worden sind, zurückgesetzt, genau das möchte ich Verhindern.



    Hat jemand einen Tipp für mich?


    Dies ist mein Code:

    Code:
              
    if(empty($vorname) || empty($nachname) || empty($email) || empty($passwort) || empty($passwort_wiederholen)) {
         echo "Bitte alle Felder ausfüllen";
    }
    HTML-Code:
                                <form method="post" class="register-form">
                                    <div class="form-group">
                                        <label for="vorname">
                                            <i class="zmdi zmdi-account material-icons-name"></i>
                                        </label>
                                        <input type="text" name="vorname" placeholder="Vorname"/>
                                    </div>
                                    <div class="form-group">
                                        <label for="nachname">
                                            <i class="zmdi zmdi-account material-icons-name"></i>
                                        </label>
                                        <input type="text" name="nachname" placeholder="Nachname"/>
                                    </div>
                                    <div class="form-group">
                                        <label for="email">
                                            <i class="zmdi zmdi-email"></i>
                                        </label>
                                        <input type="email" name="email" placeholder="E-Mail Adresse"/>
                                    </div>
                                    <div class="form-group">
                                        <label for="pass">
                                            <i class="zmdi zmdi-lock"></i>
                                        </label>
                                        <input type="password" name="passwort" placeholder="Passwort"/>
                                    </div>
                                    <div class="form-group">
                                        <label for="re-pass">
                                            <i class="zmdi zmdi-lock-outline"></i>
                                        </label>
                                        <input type="password" name="passwortWdh" placeholder="Passwort wiederholen"/>
                                    </div>
                                    <div class="form-group form-button">
                                        <input type="submit" name="absenden" class="form-submit" value="Absenden"/>
                                    </div>
                                </form>

    LG
    Marvin

  • #2
    Setze das required Attribute in HTML
    Wenn dann leere Felder ankommen, brich die Bearbeitung ab, Du kannst davon ausgehen, dass dann ein robot am Werk ist, oder jemand manipulieren will. Warum sollte man sich damit beschäftigen...

    Kommentar


    • #3
      Also das mit required ist schon gut, aber wie bekomme ich das so hin, wie ich es beschrieben hatte?
      Das gleiche z.B ist dann auch, wenn die E-Mail bereits vorhanden ist, oder Passwörter nicht übereinstimmen, dann setzt er die Felder auch zurück.

      Kommentar


      • #4
        Dann musst Du Dein Anliegen exakter formulieren. Was spricht dagegen, sich folgendes durchzulesen: https://php-de.github.io/#form

        Kommentar


        • #5
          Zitat von MarvinTLA Beitrag anzeigen
          Sobald man nun auf den z.B "Absenden" Button klickt und es Leere Felder gibt, wird der Benutzer darauf aufmerksam gemacht, allerdings werden auch die Felder, welche Bereits ausgefüllt worden sind, zurückgesetzt, genau das möchte ich Verhindern.
          Du musst evtl. schon vorhandene Werte in das value-Attribut des input-Elements schreiben (Behandlung des Kontextwechsels nicht vergessen!) - du möchtest ein Affenformular (<- Stichwort für eine Suchmaschine) bauen.

          HTML-Code:
          <div class="form-group">
          <label for="vorname">
          <i class="zmdi zmdi-account material-icons-name"></i>
          </label>
          <input type="text" name="vorname" placeholder="Vorname"/>
          </div>
          Das Formular ist kaputt und unbedienbar: input-Elemente benötigen zwingend ein label-Element (nein, das placeholder-Attribut ersetzt dieses nicht!) - ein solches hast du zwar, allerdings ist das leer und zudem fehlt die Verbindung zum input-Element (das braucht noch ein id="vorname").

          Zitat von kaminbausatz Beitrag anzeigen
          Setze das required Attribute in HTML
          Wenn dann leere Felder ankommen, brich die Bearbeitung ab, Du kannst davon ausgehen, dass dann ein robot am Werk ist, oder jemand manipulieren will. Warum sollte man sich damit beschäftigen...
          Nicht alle Prüfungen lassen sich clientseitig erschlagen (z.B. die Prüfung ob schon ein Konto mit der angegebenen E-Mailadresse existiert), es ist also auf jeden Fall serverseitig eine Prüfung notwendig - einfach abbrechen würde ich die Bearbeitung bei leeren Feldern nicht.

          Kommentar


          • #6
            Also ich verstehe es zwar wie das ganze funktioniert, wenn meine Felder leer sind.
            Nur bin ich leider nicht so weit gekommen, dass das Formular nicht zurückgesetzt wird, wenn die E-Mail z.B bereits vorhanden ist.

            Hat da jemand eine Idee für mich?


            So mache ich es aktuell:

            Code:
                        $selectEmail = $dbv->prepare("SELECT email FROM benutzer WHERE email = :email LIMIT 1");
                        $selectEmail->execute(array(":email" => $email));
                        $emailData = $selectEmail->fetch(PDO::FETCH_ASSOC);
            Code:
                        if($emailData !== false) {
                             echo "Diese E-Mail gibt es bereits!";     
                        }

            Kommentar


            • #7
              Zitat von MarvinTLA Beitrag anzeigen
              Hat da jemand eine Idee für mich?
              Ja, lesen. Als erstes die Antworten die du bekommst. Wo ist dein Versuch ein Affenformular zu schreiben? Die zwei geposteten Codefetzen haben jedenfalls nichts damit zu tun …

              Kommentar


              • #8
                Zitat von tk1234 Beitrag anzeigen
                Nicht alle Prüfungen lassen sich clientseitig erschlagen (z.B. die Prüfung ob schon ein Konto mit der angegebenen E-Mailadresse existiert), es ist also auf jeden Fall serverseitig eine Prüfung notwendig - einfach abbrechen würde ich die Bearbeitung bei leeren Feldern nicht.
                Es ging um LEERE Felder, wird clientseitig required gesetzt und es kommt ein leeres Feld an, ist jede weitere Bearbeitung überflüssig.

                Kommentar


                • #9
                  Zitat von kaminbausatz Beitrag anzeigen
                  Es ging um LEERE Felder, wird clientseitig required gesetzt und es kommt ein leeres Feld an, ist jede weitere Bearbeitung überflüssig.
                  Ist vielleicht nicht so rüber gekommen: aber serverseitig braucht man ohnehin die Affenformular-Funktionalität da noch weitere Prüfungen gemacht werden müssen - da kann man dann die Prüfung auf leere Felder gleich mit machen und einfach den normalen Ablauf (Fehlermeldung+Formular mit den bereits vorhandene Daten ausgeben) weiter laufen lassen. Klar kann man die Bearbeitung auch einfach abbrechen, der Aufwand wird dadurch aber eher größer. Was man nämlich auf keinen Fall weg lassen darf ist die serverseitige Überprüfung der Daten!

                  Kommentar


                  • #10
                    Na ja, Affenformulare benutze ich seit ewigen Zeiten nicht mehr in meinem Bereich. Ich habe komplett auf Ajax umgestellt. Feldüberprüfung - klar ist erforderlich. Nur wie bereits geschrieben - ist was leer, was eigentlich gefüllt sein sollte ist Manipulation im Spiel. An der Diskussion ob js nun deaktiviert ist beteilige ich mich nicht mehr.

                    Kommentar

                    Lädt...
                    X