Нет записи в базе данных после отправки формы - PullRequest
0 голосов
/ 26 февраля 2020

У меня проблема с моей формой, когда я нажимаю на кнопку отправить, в базе данных с оператором 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 = "";
    }
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...