4) POST verarbeiten: Validieren → Speichern
Jetzt kommt der typische Kern:
Du prüfst, ob es ein POST ist, liest Werte aus $_POST,
validierst sie und speicherst sie dann mit einem Prepared Statement.
$errors = [];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = trim((string)($_POST['name'] ?? ''));
$email = trim((string)($_POST['email'] ?? ''));
$message = trim((string)($_POST['message'] ?? ''));
// 1) Validierung (sehr einfach)
if ($name === '') {
$errors[] = "Name ist Pflicht.";
}
if ($email === '' || strpos($email, '@') === false) {
$errors[] = "Bitte gib eine gültige E-Mail an.";
}
if ($message === '') {
$errors[] = "Nachricht ist Pflicht.";
}
// 2) Speichern nur, wenn keine Fehler
if (empty($errors)) {
$sql = "
INSERT INTO contact_messages (name, email, message, created_at)
VALUES (:name, :email, :message, NOW())
";
$stmt = $pdo->prepare($sql);
$stmt->execute([
':name' => $name,
':email' => $email,
':message' => $message,
]);
$success = true;
}
}
Merke
Erst validieren, dann speichern
Wenn du sofort speicherst und erst danach prüfst, bekommst du kaputte Daten in die Datenbank.
Das räumt man später nur mühsam wieder auf.