zum Test Formular
Alle Eingaben in einem Formular sollten immer serverseitig geprüft werden!
Egal ob das Formular mit HTML und/oder JavaScript überprüft wird!
Wir schreiben jetzt alles in die formular.php und erstellen uns eine gesendet.php,
des weiteren ändern wir den Sende Button und fügen noch einen Button zum Löschen der Eingaben hinzu.
- <input type = "submit" class = "butt button-blue" name = "senden" value = "Senden">
<input class = "butt button-red" type = "reset" value = "Reset">
So zum Beispiel kann ein Formular Serverseitig auf Inhalt geprüft werden.
die formular.php
<?php
Hier wird das formular eingefügt.
- // Variablen definieren und auf leere Werte setzen
- $name = $email = $inhalt = $betreff = " " ;
- $name_err = $email_err = $inhalt_err = $betreff_err = " " ;
- // Formulardaten werden verarbeitet, wenn das Formular gesendet wird
- if ( isset ( $_POST [ ' senden ' ] ) & & $_POST [ ' senden ' ] = = 'Senden' )
- {
- // POST für Name prüfen und in variablen wandeln
- $postname = isset ( $_POST [ ' name ' ] ) ? $_POST [ ' name ' ] : " " ;
- if ( empty ( $postname ) )
- {
- $name_err = " Feld Name ist leer ! " ;
- }
- else
- {
- // Nicht erlaubte Zeichen werden umgewandelt
- $name = trim ( htmlspecialchars ( $postname ) ) ;
- if ( $name = = = false )
- {
- $name_err = " Dies ist kein Name ! " ;
- }
- }
- // POST für eMail prüfen und in variablen wandeln
- $postmail = isset ( $_POST [ ' email ' ] ) ? $_POST [ ' email ' ] : " " ;
- if ( empty ( $postmail ) )
- {
- $email_err = " Feld eMail ist leer ! " ;
- }
- else
- {
- $email = trim ( $postmail ) ;
- if ( $email = = = false )
- {
- $email_err = " Dies ist keine eMail-Adresse ! " ;
- }
- }
- // POST für Betreff prüfen und in variablen wandeln
- $postbetreff = isset ( $_POST [ ' betreff ' ] ) ? $_POST [ ' betreff ' ] : " " ;
- if ( empty ( $postbetreff ) ) {
- $betreff_err = " Feld Betreff ist leer ! " ;
- }
- else
- {
- // Nicht erlaubte Zeichen werden umgewandelt
- $betreff = trim ( htmlspecialchars ( $postbetreff ) ) ;
- if ( $betreff = = = false )
- {
- $betreff_err = " Dies ist kein Betreff ! " ;
- }
- }
- // POST für Nachricht prüfen und in variablen wandeln
- $postinhalt = isset ( $_POST [ ' inhalt ' ] ) ? $_POST [ ' inhalt ' ] : " " ;
- if ( empty ( $postinhalt ) )
- {
- $inhalt_err = " Feld Nachricht ist leer ! " ;
- }
- else
- {
- // Nicht erlaubte Zeichen werden umgewandelt
- $inhalt = trim ( htmlspecialchars ( $postinhalt ) ) ;
- if ( $inhalt = = = false )
- {
- $inhalt_err = " Dies ist keine Nachricht ! " ;
- }
- }
- // Keine Fehler, Formular Inhalt ausführen
- if ( empty ( $name_err ) & & empty ( $email_err ) & & empty ( $inhalt_err ) & & empty ( $betreff_err ) )
- {
- // Hier kommt je nach Formular sowas wie:
- // $empfaenger = " meine@mailadresse.de ";
- // $from = "From: " . $email . " \ n " ;
- // $betref = $betreff . " \ n " ;
- // $text = " Name: " . $name . " \ n " ;
- // $text . = " Nachricht: " . $inhalt . " \ n " ;
- // mail ( $empfaenger , $betref , $text , $from ) ;
- // header ( " Location : gesendet.php ") ; exit ;
- // für eine reine text/email hin.
- // Nur zum Testen Ergebnis:
- echo $name . ' <br> ' ;
- echo $email . ' <br> ' ;
- echo $betreff . ' <br> ' ;
- echo $inhalt . ' <br> ' ;
- // Test Ergebnis ende
- }
- }
Hier wird das formular eingefügt.
die gesendet.php
<?php
- // Antworttext verfassen
- echo ' <p> Vielen Dank - Die Nachricht wurde gesendet! </p> ' ;
- // Nur zum Testen:
- echo ' <p> <a href = "formular.php"> zum Formular </a> </p> ' ;
Die gesendet.php muß im gleichen Pfad sein.
das formular.html
- <! DOCTYPE html>
- <html lang = " de "> <head>
- <meta charset = " UTF-8 ">
- <meta name = " viewport " content = " width = device-width , initial-scale = 1 . 0 ">
- <title> Formular </title>
- <meta name = " dcterms.rights " content = " locomputing ">
- <meta name = " description " content = " Beschreibung der Website ">
- <meta name = " keywords " content = " Keywords ">
- <link rel = " stylesheet " href = " https : / / locomputing . de / mustercss / formular_style . css ">
- </head>
- <body>
- <h4> Formular </h4>
- <p>Bitte geben Sie Ihre Daten ein.</p>
- <fieldset>
- <form method = "post">
- <div class = "form-face">
- <label for = "name"> Name: <span> * </span> </label>
- <span class = "fehler"> <?php echo $name_err ; ?> </span>
- <input type = "text" id = "name" name = "name" class = "form-control">
- </div>
- <div class = "form-face">
- <label for = "email"> eMail: <span> * </span> </label>
- <span class = "fehler"> <?php echo $email_err ; ?> </span>
- <input type = "text" id = "email" name = "email" class = "form-control">
- </div>
- <div class = "form-face">
- <label for = "betreff"> Betreff: <span> * </span> </label>
- <span class = "fehler"> <?php echo $betreff_err ; ?> </span>
- <input type = "text" id = "betreff" betreff = "betreff" class = "form-control">
- </div>
- <div class = "form-face">
- <label for = "inhalt"> Nachricht: <span> * </span> </label>
- <span class = "fehler"> <?php echo $inhalt_err ; ?> </span>
- <textarea id = "inhalt" name = "inhalt" class = "form-control"></textarea>
- </div>
- <div class = "form-face">
- <label> <span> * </span> Felder sind Pflicht! </label>
- <input type = "submit" class = "butt button-blue" name = "senden" value = "Senden">
- <input class = "butt button-red" type = "reset" value = "Reset">
- </div>
- </form>
- </fieldset>
- </body>
- </html>
das formular
zum testen einfach die Felder freilassen.