Dieser Codeschnipsel zeigt ein funktionsfähiges Kontaktformular mit Pflichtfeldprüfung, E-Mail-Versand und Sicherheitsmaßnahmen.
<?php
$name = $email = $message = "";
$nameErr = $emailErr = $messageErr = $successMsg = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$valid = true;
if (empty($_POST["name"])) {
$nameErr = "Name ist erforderlich";
$valid = false;
} else {
$name = htmlspecialchars($_POST["name"]);
}
if (empty($_POST["email"])) {
$emailErr = "E-Mail ist erforderlich";
$valid = false;
} elseif (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
$emailErr = "Ungültige E-Mail-Adresse";
$valid = false;
} else {
$email = htmlspecialchars($_POST["email"]);
}
if (empty($_POST["message"])) {
$messageErr = "Nachricht ist erforderlich";
$valid = false;
} else {
$message = htmlspecialchars($_POST["message"]);
}
if ($valid) {
$to = "deine-email@example.com"; // Empfängeradresse
$subject = "Kontaktformular-Nachricht von $name";
$body = "Name: $name\nE-Mail: $email\n\nNachricht:\n$message";
$headers = "From: $email\r\nReply-To: $email";
if (mail($to, $subject, $body, $headers)) {
$successMsg = "Ihre Nachricht wurde erfolgreich gesendet!";
$name = $email = $message = "";
} else {
$successMsg = "Fehler beim Senden der Nachricht.";
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Kontaktformular</title>
<style>
.error { color:red; }
.success { color:green; }
</style>
</head>
<body>
<h2>Kontaktformular</h2>
<?php if ($successMsg) echo "<p class='success'>$successMsg</p>"; ?>
<form method="post" action="">
<label>Name:</label><br>
<input type="text" name="name" value="<?= $name ?>"><br>
<span class="error"><?= $nameErr ?></span><br>
<label>E-Mail:</label><br>
<input type="text" name="email" value="<?= $email ?>"><br>
<span class="error"><?= $emailErr ?></span><br>
<label>Nachricht:</label><br>
<textarea name="message"><?= $message ?></textarea><br>
<span class="error"><?= $messageErr ?></span><br><br>
<button type="submit">Senden</button>
</form>
</body>
</html>