У меня проблема с моей формой, когда я нажимаю на кнопку отправить, в базе данных с оператором PDO ничего не сохраняется. Я не знаю почему, но, я подозреваю, синтаксис запроса, который создает проблему? Может ли кто-нибудь помочь мне выяснить, почему?
Спасибо.
<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPassword = "";
$dbName = "contactfrom";
try {
$dsn = "mysql:host=" . $dbHost . ";dbname=" . $dbName;
$pdo = new PDO($dsn, $dbUser, $dbPassword);
} catch(PDOException $e) {
echo "DB Connection Failed: " . $e->getMessage();
}
$status = "";
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
if(empty($name) || empty($email) || empty($message)) {
$status = "Tous les champs sont obligatoires.";
} else {
if(strlen($name) >= 255 || !preg_match("/^[a-zA-Z-'\s]+$/", $name)) {
$status = "Ajoutez un nom";
} else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$status = "Ajouter un email valide";
} else {
var_dump($_POST);
$sql = "INSERT INTO contact (name, email, message) VALUES (:name, :email, :message)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['name' => $name, 'email' => $email, 'message' => $message]);
var_dump($stmt);
$status = "Votre message a bien été envoyé";
$name = "";
$email = "";
$message = "";
}
}
}