Bonjour le probleme c'est que je n'arrive pas a inserer une entrée dans ma base de donées depuis un formulaire pourtant je pense avoir un bon code.

<!DOCTYPE html>
<html>
<head>
   <title>Test</title>
   <meta charset="utf-8">
</head>
<body>
<form method="POST" action="">
   <input type="text" name="titre" placeholder="Titre"></br>
   <input type="text" name="description" placeholder="Description"></br>
   <input type="text" name="categorie" placeholder="Catégorie"></br>
   <input type="submit" name="OK">
</form>
<?php
      if (isset($_POST['id'])) 
      {

      $bdd = new PDO("mysql:host=localhost;dbname=test2;charset=utf8", 'root', "");

      if (isset($_POST['titre']) AND isset($_POST['description']) AND isset($_POST['categorie']))
      {

         $requete = $bdd->prepare("INSERT INTO videos(titre, description, categorie) VALUES(?, ?, ?)");
         $requete->execute(array($_POST['titre'], $_POST['description'], $_POST['categorie']));

      }
      }
?>
</body>
</html>

5 réponses


Lartak
Réponse acceptée

Tu affiches par exemple un message indiquant à l'utilisateur ce qui se passe selon la condition, soit une alerte (erreur) ou une notification (succès).

Bonjour.
Tu as entouré tout ton code PHP de la condition if isset($_POST['id']), sauf que tu n'as aucun input dans ton formulaire qui a comme name id.
Ceci explique celà.

Karim603
Auteur

J'ai enlenvé le if(isset($_POST['id]) mais ca ne marche toujours pas

Est-ce que tu es sur que les 3 inputs sont bien rempli au moment de la soumission du formulaire ?
Dans ta condition sur les champs posté, ajoutes un else en indiquant par exemple qu'il y a un problème dans les données postées par le formulaire et tu devrais également faire une vérification sur la validation de la requête, par exemple :

if ($requete->execute(array($_POST['titre'], $_POST['description'], $_POST['categorie']))) {
    // l'enregistrement s'est bien effectué ...
} else {
    // une erreur est survenue lors de l'enregistrement ...
}
Karim603
Auteur

Oui ils sont bien remplis mais dans else je sais pas quoi mettre je débute le php