Page 1 sur 1

Ajout des données dans la base

Posté : 08 mai 2012, 12:22
par Pemco
Bonjour chers amis,j'essaie d'envoyer des données dans ma base.
Quant je renseigne les champs de mon formulaire et que je clique sur le bouton valider.
Pas de message d'erreur.Les données ne sont ajoutées dans la base.
Voici mon code :oops:
<?php include('../yene/entete.php');?>
<h6>Bienvenue sur le formulaire de saisie des produits</h6>
<table width="100%" border="0" cellspacing="2" cellpadding="10">
<tr>
<td height="300" valign="top" bgcolor="#CCFF99">

<?php
try
{
//Connexion à partir de la base par PDO
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=gestock', 'root', '', $pdo_options);
//Insertion des données dans la base à partir d'une requête preparée
$reponse=$bdd->query('select libelle from categorie');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<h1>Ajout d&acute;un nouveau produit</h1>
<form name="form1" method="post" action="prod.php">
<p>Reference&nbsp;&nbsp;&nbsp;&nbsp;:
<input name="reference" type="text" size="30" maxlength="50">
</p>
<p>Libell&eacute;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
<select name="libelle" size="1" id="libelle" >
<?php
while ($donnees = $reponse->fetch())
{
echo"<option value='".$donnees['libelle']."'>".$donnees['libelle']."<option>";
}
?>
</select>
</p>
<p>D&eacute;signation&nbsp;&nbsp;:
<input name="designation" type="text" size="30" maxlength="50">
</p>
<p>
<input name="valider" type="submit"id="valider" value="Valider">
</p>
</form>
<?php
try
{
//Contrôle des des informations
if (isset($_POST['valider']) && $_POST['valider'] == 'valider') {
if ((isset($_POST['reference']) && !empty($_POST['reference'])) && (isset($_POST['libelle']) &&
!empty($_POST['libelle'])) && (isset($_POST['designation']) && !empty($_POST['designation']))) {

//Definition des paramètres de connexion de la base.
$reference=$_POST['reference'];
$libelle=$_POST['libelle'];
$designation=$_POST['designation'];

//Connexion à partir de la base par PDO
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=gestock', 'root', '', $pdo_options);

//Insertion des données dans la base à partir d'une requête preparée
$req = $bdd->prepare('INSERT INTO produit(reference,libelle,designation) VALUES(:reference,:libelle,:designation)');
$req->execute(array(
'reference' => $reference,
'libelle' => $libelle,
'designation' => $designation
));
}
}
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

?>
</td>
</tr>
</table>
<?php
include('../yene/retour_menu.php');
include('../yene/pieddepage.php');
?>

Re: Ajout des données dans la base

Posté : 08 mai 2012, 12:33
par xTG
Tu as plusieurs séries de if mais aucun message pouvant certifier que le script passe dedans.
Rajoutes des echo pour debug.
Tu peux aussi utiliser var_dump($_POST); pour avoir une vue claire de ce qui est réellement envoyé par le formulaire.