Hallo, ich kenne mich mit php nicht wirklich aus. Ich möchte gern ein Kontaktformular erstellen mit 2 textareas (Frage 1, Frage 2) aber leider wird das Formular nicht abgesendet. Wenn ich das 2. textarea (Frage 2) weglasse dann wird es gesendet.
Und wie werden die Labels in der email dann mit angezeigt?
Bitte um Hilfe!
Danke!
Und wie werden die Labels in der email dann mit angezeigt?
Bitte um Hilfe!
Danke!
Code:
<?php $error = ""; $successMessage = ""; if($_POST){ if(!$_POST["email"]){ $error .= "Eine Emailadresse wird benötigt.<br>"; } if(!$_POST["titel"]){ $error .= "Ein Titel wird benötigt.<br>"; } if(!$_POST["content"]){ $error .= "Inhalt wird benötigt.<br>"; } if(!$_POST["contentB"]){ $error .= "Inhalt wird benötigt.<br>"; } if (filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) == false) { $error .= "Die Emailadresse ist ungültig.<br>"; } if($error != ""){ $error = '<div class="alert alert-danger" role="alert"><p><b>Es gab fehler in deinem Formular:</b></p>'.$error. '</div>'; }else{ $emailTo = "meine-mail@meinemail.de"; $subject = $_POST['titel']; $content = $_POST['content']; $contentB = $_POST['contentB']; $headers = "From: ".$_POST['email']; if(mail($emailTo, $subject, $content, $contentB, $headers)){ $successMessage= '<div class="alert alert-success" role="alert"><p><b>Alles hat geklappt. Wir antworten dir so schnell wir können</b></p></div>'; }else{ $error = '<div class="alert alert-danger" role="alert"><p><b>Das Formular konnte nicht übertragen werden. Bitte versuche es noch einmal.</b></p></div>'; } } }else{ } ?> <!DOCTYPE html> <html lang="de"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Kontaktformular</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> </script> <!-- Bootstrap --> <!-- Das neueste kompilierte und minimierte CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <!-- Optionales Theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> <!-- Das neueste kompilierte und minimierte JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h1>Kontaktiere uns!</h1> <div id="error"><?php echo $error; echo $successMessage; ?></div> <form method="post"> <div class="form-group"> <label for="beispielFeldEmail1">Email-Adresse</label> <input name="email" type="email" class="form-control" id="email" placeholder="Email-Adresse"> </div> <div class="form-group"> <label for="titel">Titel</label> <input type="text" name="titel" class="form-control" id="titel" > </div> <div class="form-group"> <label for="anliegen">Frage 1</label> <textarea class="form-control" name="content" id="content" rows="3"></textarea> </div> <div class="form-group"> <label for="anliegenzwei">Frage 2</label> <textarea class="form-control" name="contentB" id="contentB" rows="3"></textarea> </div> <button type="submit" id="submit" class="btn btn-primary">Abschicken</button> </form> </div> <script type="text/javascript"> $("form").submit(function( event ) { event.preventDefault(); var error = ""; if($("#email").val() == ""){ error += "<p>Der Email ist leer. Bitte trage sie ein.</p>"; } if($("#titel").val() == ""){ error += "<p>Der Titel ist leer. Bitte trage ihn ein.</p>"; }if($("#content").val() == "" ){ error += "<p>Das Inhaltfeld ist leer, bitte trage etwas ein. </p>"; } }if($("#contentB").val() == "" ){ error += "<p>Das Inhaltfeld ist leer, bitte trage etwas ein. </p>"; } if(error != ""){ $("#error").html('<div class="alert alert-danger" role="alert"><p><b>Es gab fehler in deinem Formular:</b></p>' + error + '</div>'); }else{ $("form").unbind('submit').submit(); } }); </script> </body> </html>
Kommentar