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!";
}*/
?>
Alles anzeigen
Freue mich auf eure Hilfe.
Gruß, Stef