Anzeige
Tutorialbeschreibung

Überprüfung, ob in einem Formular alle Felder ausgefüllt sind (einfach)

Überprüfung, ob in einem Formular alle Felder ausgefüllt sind (einfach)

Hier wird auf eine einfache und simple Art und Weise überprüft, ob alle Felder in einem Formular ausgefüllt sind!


Hier lernt ihr, wie ihr in einem Formular überprüft, ob in den Pflichtfeldern alle Felder ausgefüllt sind!

Wir benötigen nur eine Datei, nämlich die form.php.

Nehmen wir als Beispielformular ein einfaches Formular mit 4 Feldern.
1. Vorname
2. Nachname
3. E-Mail-Adresse
4. Nachricht
Alle Felder, die mit dem Stern (*) markiert sind, sollen Pflichtfelder sein.

Das Formular wird mit einem einfachen HTML-Code erstellt:

<form method="post" action="form.php">   /*<---Definition des Formulares, mit mehtod wird die Sendemethode eingestellt und mit action die Datei, an die das Script senden soll!*/
    <table>
        <tr>
            <td>Vorname: *</td>
            <td><input type="text" name="fname"></td>
        </tr>
        <tr>
            <td>Nachname: *</td>
            <td><input type="text" name="lname"></td>
        </tr>
        <tr>
            <td>Mail-Adresse: *</td>
            <td><input type="text" name="lname"></td>
        </tr>
        <tr>
            <td>Nachricht: *</td>
            <td><textarea cols="40" row="8" name="text"></textarea></td>
        </tr>
        <tr>
            <td><input type="submit" name="absenden" value="Absenden"></td>
        </tr>   
    </table>
</form>


Das sollte dann so aussehen:

vorschauformBilder



Jetzt kommt der PHP-Code:

    if(isset($_POST['absenden'])){
       
    }


Mit der Funktion isset wird überprüft, ob der Button überhaupt gedrückt wurde.
Wenn das der Fall ist, überprüft das Script weiter:

    if(isset($_POST['absenden'])){
        if($_POST['fname'] == "" || $_POST['lname'] == "" || $_POST['mail'] == "" || $_POST['text'] == ""){
            echo "Es wurden nicht alle Pflichtfelder (*) ausgefüllt!";
        }
    }


Der Vergleichungsoperator (==) überprüft, ob die Felder leer sind (""). Ist dies der Fall, bringt das Script folgende Fehlermeldung,
die mit dem Befehl "echo" ausgeführt wird: Es wurden nicht alle Pflichtfelder (*) ausgefüllt!
Diese Meldung kann auch, genauso wie jede andere Meldung, durch ein Javascript mit einem Meldefenster ausgeführt werden:

echo "<script>alert('Es wurden nicht alle Pflichtfelder (*) ausgefüllt!')</script>";

Sind aber alle Felder ausgefüllt, so fährt das Script fort:

    if(isset($_POST['absenden'])){
        if($_POST['fname'] == "" || $_POST['lname'] == "" || $_POST['mail'] == "" || $_POST['text'] == ""){
            echo "Es wurden nicht alle Pflichtfelder (*) ausgefüllt!";
        }else{
           
        }
    }


Durch den Befehl }else{ wird dem Script gesagt, dass es den ersten echo Befehl durch die 2. gewünschte Aktion ersetzen soll, sofern
nicht erfüllt ist, dass die jeweiligen Felder leer geblieben sind.
In unserem Fall soll eine einfache Bestätigung kommen, dass alle Felder korrekt ausgefüllt sind.

    if(isset($_POST['absenden'])){
        if($_POST['fname'] == "" || $_POST['lname'] == "" || $_POST['mail'] == "" || $_POST['text'] == ""){
            echo "Es wurden nicht alle Pflichtfelder (*) ausgefüllt!";
        }else{
            echo "Alle Felder wurden korrekt ausgefüllt!";
        }
    }


Auch hier kann die Meldung wieder mit einem Javascript aufgerufen werden:

echo "<script>alert('Alle Felder wurden korrekt ausgefüllt!')</script>";

Und schon sind wir fertig und haben eine einfache Überprüfung, ob die Felder ausgefüllt worden sind!
Hier noch einmal die komplette form.php:

<form method="post" action="form.php">
    <table>
        <tr>
            <td>Vorname: *</td>
            <td><input type="text" name="fname"></td>
        </tr>
        <tr>
            <td>Nachname: *</td>
            <td><input type="text" name="lname"></td>
        </tr>
        <tr>
            <td>Mail-Adresse: *</td>
            <td><input type="text" name="mail"></td>
        </tr>
        <tr>
            <td>Nachricht: *</td>
            <td><textarea cols="40" row="8" name="text"></textarea></td>
        </tr>
        <tr>
            <td><input type="submit" name="absenden" value="Absenden"></td>
        </tr>     
    </table>
</form>

<?php
    if(isset($_POST['absenden'])){
        if($_POST['fname'] == "" || $_POST['lname'] == "" || $_POST['mail'] == "" || $_POST['text'] == ""){
            echo "Es wurden nicht alle Pflichtfelder (*) ausgefüllt!";
        }else{
            echo "Alle Felder wurden korrekt ausgefüllt!";
        }
    }
?>


Hier ist das Formular:
http://www.hp4cheap.de/psdtut/form.php
Und mit Javascript:
http://www.hp4cheap.de/psdtut/formjava.php

Hiermit bestätige ich, dass diese Scripte funktionieren, da ich sie selbst getestet habe, bevor ich sie hier verlinkt habe!

DVD-Werbung
Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Alternative Portrait

-versteckt-(Autor hat Seite verlassen)

  • 01.02.2010 - 23:24

nettes Tutorial, seeeeeehr gut erklärt und ich persöhnlich finde es sehr nützlich

Portrait von hadedeha
  • 20.08.2009 - 10:30

Nettes Tutorial, sehr einfach gehalten um es einem Anfänger näher zu bringen.
Ohne weitere Absicherung gegen e-mail Injection wird dem Anfänger jedoch sehr schnell der Spaß an dem schönen Formular vergehen, wenn vom eigenen Server massenhaft Spam versendet wird.

Eventuell sollte das Tutorial um die folgende Anmerkung ergänzt werden:
"Nur zum Üben - nicht für den produktiven Einsatz geeignet!"

Portrait von Destruction929
  • 20.08.2009 - 03:32

Dann füg ich einfach Leerzeichen ein :) :)
Entweder trim() oder empty()

Portrait von EnricoS
  • 16.08.2009 - 16:07

Naja, die Tatsache dass für dieses Mini-Formular eine Tabelle missbraucht werden muss...

Portrait von Rabax
  • 16.08.2009 - 15:05

Ganz nettes Tut. Der JavaScript-Code sollte vielleicht noch etwas sauberer eingebunden werden, damit er W3C-konform ist.

Portrait von browse
  • 14.08.2009 - 21:46

Klar und einfach
Vielen Dank

Portrait von netbandit
  • 14.08.2009 - 17:38

Kleiner Fehler im ersten Beispielcode vom Formular: Feld für Nachname und Email haben beide "lname" als Namen.

Portrait von Schlawiner
  • 14.08.2009 - 15:02

Super einfach, Thema könnte vertieft werden.
thx

Portrait von Sibulan1
  • 14.08.2009 - 15:00

interesantes tut, aber in jedem html buch zu finden, danke

Portrait von onemillion
  • 14.08.2009 - 13:26

vielleicht sollte man noch etwas auf den schutz vor Hackern eingehen...
sonst sehr ausführlich erklärt :-)
Gruß
Daniel

Alternative Portrait

-versteckt-(Autor hat Seite verlassen)

  • 14.08.2009 - 12:21

könntest du mir ein tut erstellen wie ich ein kontakt vormular erstelle`?? aber sonst alles super

Portrait von psdfan01
  • 14.08.2009 - 13:38

Ein Kontaktformular mit Mail Funktion wurde bereits erstellt:
http://www.psd-tutorials.de/modules.php?name=News&file=article&sid=785&titel=PHP-Sonstiges_kontaktformulardaten-mit-php-versenden

Oder hättest du gerne eins mit einem Eintrag in eine Datenbank?

Für weiteren Fragen oder so kansnt du dich gerne per Mail (niklas.schueler@hp4cheap.de) bei mir melden :-)

Portrait von eddybaer
  • 14.08.2009 - 07:59

Schön einfaches Script, schön einfach erklärt. Vielen Dank!

x
×
×