Ajout des données dans la base
Posté : 08 mai 2012, 12:22
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
<?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´un nouveau produit</h1>
<form name="form1" method="post" action="prod.php">
<p>Reference :
<input name="reference" type="text" size="30" maxlength="50">
</p>
<p>Libellé :
<select name="libelle" size="1" id="libelle" >
<?php
while ($donnees = $reponse->fetch())
{
echo"<option value='".$donnees['libelle']."'>".$donnees['libelle']."<option>";
}
?>
</select>
</p>
<p>Désignation :
<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');
?>
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
<?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´un nouveau produit</h1>
<form name="form1" method="post" action="prod.php">
<p>Reference :
<input name="reference" type="text" size="30" maxlength="50">
</p>
<p>Libellé :
<select name="libelle" size="1" id="libelle" >
<?php
while ($donnees = $reponse->fetch())
{
echo"<option value='".$donnees['libelle']."'>".$donnees['libelle']."<option>";
}
?>
</select>
</p>
<p>Désignation :
<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');
?>