récupérer les données d'un formulaire

Répondre
souricette
le 30/05/2013 à 15:52
souricette
Bonjour,

J'ai créé une liste à actualiser (liste de naissance).
Les infos sont stockées sur une base sql et le doc est codé en php.
Mon souci est que je n'arrive pas à récupérer le nom des "donateurs" qui sélectionnent un cadeau.
La page se présente sous forme de tableau avec les colonnes suivantes : photo, checkbox, nom du cadeau et nom du donateur.

Je récupère un Array en guise de nom du donateur...

Merci d'avance de votre aide car j'ai fait le tour des forums et ressorti mes bouquins php sans trouver la lumière.

voici le code de la liste :
$query = "SELECT photo, quantite, cadeau, nom FROM alicia";
$trouve = mysql_query($query);

//On classe les réponses dans un tableau.
while ($donnees = mysql_fetch_array($trouve))
{
$lien = $donnees["photo"];

?>
<!-- fin de verification des cadeaux présents et sélectionnés dans la BDD -->

<tr>
<td>
<?php
print ("<img src=\"$lien\" width=\"200\" height=\"200\" align=\"right\"/>");
?>
</td>

<td width="10%" align="center">
<?php
if (empty($donnees["nom"]))
echo "<input name=\"quantite\" type=\"checkbox\" value=\"".$donnees["cadeau"]."\"/>";
else
echo "";
?>
</td>


<td width="30%">
<?php echo $donnees["cadeau"];?>
</td>

<td width="30%">
<?php
if (empty($donnees["nom"]))
echo "<input name=\"donateur[]\" type=\"text\" />";
else
echo $donnees["nom"];
?>
</td>
</tr>

<?php
}
mysql_close();
?>
<!-- fin de liste de choix de cadeaux-->


et celui qui est censé récuperer les infos :
$quantite=$_POST['quantite'];
$donateur[]=$_POST['donateur'];

if ($_POST['valider']=="ok")
{
if (($quantite=="")||($donateur==""))
{
if ($quantite=="") print ("<div class=\"blanc\"><br/><br/><strong>Vous n'avez rien sélectionné ? <br/><br/>Cliquez sur précédent dans votre navigateur, ou sur le bouton, ci-dessous, pour revenir sur la page de liste de naissance</strong><br/><br/><a href=\"liste.php\"><img align=\"center\" src=\"http://www./alicia/images/bouton_orange.gif\"></a></font></div>");
if ($donateur=="") print ("<div class=\"blanc\"><br/><br/><strong>Vous n'avez pas indiqué votre nom ?<br/><br/>Cliquez sur précédent dans votre navigateur, ou sur le bouton, ci-dessous, pour revenir sur la page de liste de naissance</strong><br/><br/><a href=\"liste.php\"><img align=\"center\" src=\"http://www.alicia/images/bouton_orange.gif\"></a></font></div>");
}
else
{
//connection à la base de données
$bd=connect_bd();
if($bd<>0)
{
//insertion des données
$selectcadeau = "UPDATE alicia SET quantite=1, nom='$donateur', mail='$mail', date_enregistrement='$date_enregistrement' WHERE cadeau= '$quantite'";

$trans_cadeau = mysql_query($selectcadeau,$bd); // Requête SQL

if((!$trans_cadeau))
{
die('impossible d\'exécuter la requete :'.mysql_error());
}
else
{
echo "<div class=\"blanc\"><br /><br /><br /><strong>Nous avons enregistré votre choix.<br /><br /> Si vous avez renseigné une adresse email, vous allez recevoir un message de confirmation à l&#146;adresse communiquée ".$mail.".<br /><br />";
echo "<br /><br />Pour revenir sur la page d´accueil du site d'Alicia, <a href=\"http://www.alicia\">cliquez ici</a><br /><br /><br />A bientôt<br /><br /><br /></font></div>";
mail($mail, $sujet1, $html1, $header);
mail('souricette@alicia.com', $sujet, $html, $header);
}
}
deconnect_bd($bd);
}
}
else
{
echo '<div>Echec de l&#146;enregistrement, désolé</div>';
require("liste.php");
}
?>
souricette
LupusMic
le 18/06/2013 à 04:34
LupusMic
Dans ton formulaire, tu définis le paramètre HTTP comme étant un tableau.
<?php
echo "<input name=\"donateur[]\" type=\"text\" />";


Dans ton contrôlleur tu créé un tableau avec une entrée unique qui est un tableau de donateurs.
<?php
$donateur[]=$_POST['donateur'];


Pour t'aider dans la vie de tous les jours, tu peux utiliser la fonction PHP var_dump qui permet d'inspecter la valeur d'une variable.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours