Réaliser un INSERT INTO depuis un formulaire
Bonjour,
Je rencontre un problème qui dure depuis un moment : je n'arrive pas depuis un formulaire à insérer des données dans ma base de donnée PHPMYADMIN.
À chaque fois que je valide mon formulaire, il m'affiche le message suivant : Une erreur est survenue.
Au lieu de m'afficher : "Article ajouté avec le numéro $Id".
Rien ne s'ajoute en base de données.
Est-ce que quelqu'un pourrait m'aider ?
Merci d'avance
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| <?php
var_dump($_POST);
//On traite le formulaire
if(!empty($_POST)){
//Post n'est pas vide, on vérifie que toutes les données sont présentes
if(
isset($_POST["TYPE"]) AND isset($_POST["NOM"])
&& !empty($_POST["TYPE"]) && !empty($_POST["NOM"])
){
//Le Formulaire est complet
//On récupere les données en les protéfeant (faille XSS)
//On retire toute balise du titre
$TYPE =strip_tags($_POST["TYPE"]);
// on neutralise toute balise du NOM
$NOM = htmlspecialchars($_POST["NOM"]);
//On peut les enregistrer
$bdd = new PDO('mysql:host=localhost;dbname=bdd;charset=utf8', 'root', '');
//On écrit la Requete
$sql = "INSERT INTO 'item' ('TYPE','NOM') VALUES (:TYPE, :NOM)";
// on prepare la requete
$query = $bdd->prepare($sql);
//On injecte les valeurs
$query->bindvalue(":TYPE", $TYPE, PDO::PARAM_STR);
$query->bindvalue(":NOM", $NOM, PDO::PARAM_STR);
//on execture la requete
$query->execute()){
die("Une erreur est survenue");
}
//On récupère l'id de l'article
$id = $bdd->lastInsertId();
die ("Article ajouté avec le numéro $Id");
}else {
die("Le formulaire est incomplet");
}
}
?>
<html>
<head>
<title>Insersion BDD</title>
<meta charset="utf-8">
</head>
<body>
<form method="POST">
<div>
<label for="TYPE">TYPE</label>
<input type="text" name="TYPE" id="TYPE">
</div>
<div>
<label for="NOM">NOM</label>
<input type="text" name="NOM" id="NOM">
</div>
<button type="Submit">ENREGISTRER</button>
</form> |