les enregistrements de mon formulaires HTML ne sont pas stockés dans la base de données. La connexion à la base de données se fait pourtant normalement. Voici ci-dessous le code de mon formulaire HTML et celui du programme PHP. Merci pour toute aide.
Code : Tout sélectionner
<!DOCTYPE html>
<html">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="insertion_pdo.php" method="POST">
<p>
<label for="nom">Nom:</label>
<input type="text" name="nom" id="nom">
</p>
<p>
<label for="prenoms">Prenoms:</label>
<input type="text" name="prenoms" id="prenoms">
</p>
<p>
<label for="adresseEmail">Adresse Email:</label>
<input type="text" name="email" id="adresseEmail">
</p>
<input type="submit" value="Soumettre">
</form>
</body>
</html>
Code : Tout sélectionner
<?php
$nomServeur = "localhost";
$nomUtilisateur = "root";
$motDePasse = "";
$nomBaseDeDonnees = "etudiants";
try
{
$conn = new PDO("mysql:host=$nomServeur;nomBaseDeDonnees=$nomBaseDeDonnees", $nomUtilisateur, $motDePasse);
echo "Connection à la base de données effectuée avec succès";
// Mode d'erreur PDO pour gérer les exceptions
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $error)
{
echo 'Connection error: ' . $error->getMessage();
}
// Récupération des données du formulaire HTML
$nom = $_POST['nom'];
$prenoms = $_POST['prenoms'];
$email = $_POST['email'];
// Creation d'une procédure stockée
$maProcedureStockee = $conn->prepare("INSERT INTO etudiants (nom, prenoms, email) VALUES (:nom, :prenoms, :email)");
// Correspondance des paramètres avec l'instruction c'est-à-dire la procédure stockée
$maProcedureStockee->bindParam(':nom', $nom);
$maProcedureStockee->bindParam(':prenoms', $prenoms);
$maProcedureStockee->bindParam(':email', $email);
// Exécution de la procédure stockée
if ($maProcedureStockee->execute())
{
echo "Nouveaux enregistrements enregistrés avec succès!";
}
else
{
echo "Impossible d'ajouter les nouveaux enregistrements";
}
//Fermeture de la connexion
$conn = null;
?>