Ich möchte eine Feedbackformular für meine Seite einrichten. Der unten stehende Code funktioniert soweit. Trägt der Nutzer beispielsweise eine ungültige E-Mail ein, wird ein Fehlermeldung eingeblendet. Leider verschwindet dann jedoch das bereits eingegebene im Formular, was für die Nutzer sehr nervig sein kann. Wie kann ich das Eingegebene zwischenspeichern lassen?
Ich bin dankbar für jeden Tipp
PHP
<?php
$error = "";
$successMessage = "";
if($_POST){
if (filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) == false) {
$error .= "Die Emailadresse ist ungültig.<br>";
}
if(!$_POST["titel"]){
$error .= "Ein Titel wird benötigt.<br>";
}
if(!$_POST["content"]){
$error .= "Inhalt wird benötigt.<br>";
}
if($error != ""){
$error = '<div class="alert alert-danger" role="alert"><p><b>Bitte überprüfe deine Eingabe</b></p>'.$error. '</div>';
}else{
$emailTo = "e-mail@.....com";
$subject = $_POST['titel'];
$content = $_POST['content'];
$headers = "From: ".$_GET['email'];
if(mail($emailTo, $subject, $content, $headers)){
$successMessage= '<div class="alert alert-success" role="alert"><p><b>Vielen Dank für dein Feedback!</b></p></div>';
}else{
$error = '<div class="alert alert-danger" role="alert"><p><b>Leider gab es einen Fehler, bitte überprüfe deine Eingaben</b></p></div>';
}
}}
?>
<div class="container">
<div id="error"><?php echo $error;
echo $successMessage;
?></div>
<form method="post">
<div class="form-group" id="input">
<label for="beispielFeldEmail1">Email-Adresse</label>
<input name="email" type="email" class="form-control" id="email">
</div>
<div class="form-group" id="input">
<label for="titel">Titel</label>
<input type="text" name="titel" class="form-control" id="titel" >
</div>
<div class="form-group" id="text">
<label for="anliegen">Dein Feedback an uns</label>
<textarea class="form-control" name="content" id="content" rows="3"></textarea>
</div>
<button type="submit" id="submit" class="btn btn-primary">Abschicken</button>
</form>
</div>
Alles anzeigen