Hey zusammen,
unzwar ich habe mir ein kleines Kontaktformular gebaut.
Und das meiste funktioniert auch, bis auf 2 Fehlermeldungen. Unzwar ich habe zum spam schutz 3 radio-felder wovon nur 1ns richtig ist. Nun habe ich ne Bedingung aufgestellt wenn nichts angekreuzt ist dann soll es dies ausgeben und wenn das falsche angekreuzt wurde wird das ausgegeben. Nun habe ich noch dazu ein hidden feld erstellt um abzufragen ob das Formular schon abgesendet wurde und falls dies zutrifft werden die fehler ausgegeben.
Nun aber werden gleich beide Fehler ($fehler5 & $fehler 6) ausgegeben. Ich denke weil ich ja da überprüfe ob es leer ist und dann nochmal überprüfe ob das richtige kreuz angekreuzt wurde aber ich weiß nicht wie ichs lösen soll..
Hier mein php script:
<?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;
$fehlerausgeben = isset ($_POST['schonabgesendet']) ? $_POST['schonabgesendet'] : null ;
if(empty($name)){
$fehler1 = "<p class='php_errors'>Bitte geben sie ihren Namen an!</p>";
}
if(empty($email))
{
$fehler2 = "<p class='php_errors'>Bitte geben sie ihre E-Mail an!</p>";
}
if(empty($betreff))
{
$fehler3 = "<p class='php_errors'>Bitte geben sie ihren Betreff an!</p>";
}
if(empty($nachricht))
{
$fehler4 = "<p class='php_errors'>Bitte geben sie ihre Nachricht an!</p>";
}
if(empty($eingabeUser))
{
$fehler5 = "<p class='php_errors'>Bitte kreuzen sie eines der Felder an!</p>";
} else{
$fehler5 = null;
}
if ($eingabeUser !== "Pferd"){
$fehler6 = "<p class='php_errors'> Sie haben das falsche Kreuz angekreuzt!</p>";
} else{
$fehler6 = null;
}
$fehlerarr = array($fehler1,$fehler2,$fehler3,$fehler4,$fehler5,$fehler6);
?>
<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
Kann man denn bei der textarea die value nicht speichern ?
Gruß, Stef