Hey zusammen,
ich habe ein kleines Kontaktformular erstellt. Nun möchte ich das die email überprüft wird auf deren Richtigkeit.
Z.B. sollen email andressen wie ee@ee.de und solche nicht zugelassen werden. Sondern @gmx.de oder die anderen email-anbieter.
Ich habe es schon mit filter_var ausprobiert es probiert. Var dump gibt mir z.b raus : string(8) "ee@ee.de"
Wie kann man es denn machen ?
Hier mein script:
PHP
- <?php
- // Kurzschreibweise : Variable = WENN ? DANN : SONST;
- $name = isset ($_POST['name']) ? $_POST['name'] : null;
- $email = isset($_POST['email']) ? $_POST['email'] : null;
- $betreff = isset($_POST['betreff']) ? $_POST['betreff'] : null;
- $nachricht = isset($_POST['nachricht']) ? $_POST['nachricht'] : null;
- //zum Spamschutz
- $eingabeUser = isset($_POST['spamschutz']) ? $_POST['spamschutz'] : null;
- //zum checken ob formular das 2.te mal aufgerufen worden ist
- $fehlerausgeben = isset ($_POST['schonabgesendet']) ? $_POST['schonabgesendet'] : null ;
- trim($name);
- trim($email);
- trim($betreff);
- trim($nachricht);
- if(empty($name)){
- $fehler1 = "<p class='php_errors'>Bitte geben sie ihren Namen an!</p>";
- } else{
- $fehler1 = null;
- }
- if(empty($email))
- {
- $fehler2 = "<p class='php_errors'>Bitte geben sie ihre E-Mail an!</p>";
- } else{
- $fehler2 = null;
- }
- if(empty($betreff))
- {
- $fehler3 = "<p class='php_errors'>Bitte geben sie ihren Betreff an!</p>";
- } else{
- $fehler3 = null;
- }
- if(empty($nachricht))
- {
- $fehler4 = "<p class='php_errors'>Bitte geben sie ihre Nachricht an!</p>";
- } else{
- $fehler4 = null;
- }
- $fehler5 = null;
- $fehler6 = null;
- if(empty($eingabeUser))
- {
- $fehler5 = "<p class='php_errors'>Bitte kreuzen sie eines der Felder an!</p>";
- } else if ($eingabeUser !== "Pferd"){
- $fehler6 = "<p class='php_errors'> Sie haben das falsche Kreuz angekreuzt!</p>";
- }
- if (filter_var($email, FILTER_VALIDATE_EMAIL) !== false)
- {
- $fehler7 = null;
- } else{
- $fehler7 = "<p class='php_errors'>Bitte geben sie eine gültige E-Mail-Adresse an!</p>";
- }
- var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
- $fehlerarr = array($fehler1,$fehler2,$fehler3,$fehler4,$fehler5,$fehler6,$fehler7);
- ?>
- <head>
- <meta charset="utf-8">
- <title>Kontaktformular</title>
- <link rel="stylesheet" href="kontakformular.css">
- </head>
- <body>
- <div id="kontakt">
- <form method="POST" action="kontaktformular.php">
- <h2>Kontaktformular</h2>
- <label for="name">Ihr Name: </label>
- <input type="text" name="name" id="name" value="<?php echo $name ?>"><br>
- <label for="email">Ihre E-Mail-Adresse:</label>
- <input type="email" name="email" id="email" value="<?php echo $email ?>"><br>
- <label for="betreff">Betreff: </label>
- <input type="text" name="betreff" id="betreff" value="<?php echo $betreff ?>"><br>
- <label for="nachricht">Ihre Nachricht:</label><br>
- <textarea name="nachricht" id="nachricht" cols="50" rows="10" value="Hans"></textarea>
- <p>Kreuzen sie Bitte den Button an welches ein Tier ist!</p>
- <label for="spamschutz">Stein</label>
- <input type="radio" name="spamschutz" id="spamschutz" value="Stein">
- <br>
- <input type="hidden" name="schonabgesendet" value="ja">
- <label for="spamschutz">Haare</label>
- <input type="radio" name="spamschutz" id="spamschutz" value="Haare"> <br>
- <label for="spamschutz">Pferd</label>
- <input type="radio" name="spamschutz" id="spamschutz" value="Pferd">
- <br><input type="submit" value="Absenden!" name="submitted">
- <?php
- if(isset($fehlerarr)){
- foreach ($fehlerarr as $ausgabe) {
- if($fehlerausgeben == "ja"){
- echo $ausgabe;
- }
- }
- }
- ?>
- </form>
- </div>
- </body>
- <?php
- /*if(empty($name) or empty($email) or empty($betreff) or empty($nachricht) or $eingabeUser !== "Pferd")
- {
- }
- else {
- echo "Vielen Dank!";
- }*/
- ?>
Freue mich auf eure Hilfe.
Gruß, Stef