Code en PHP

Bonjour,
J'ai un formulaire ci-dessous:
<form name="form1" method="POST" actio="add_mobilier.php">
<table width="200" border="1">
<div align="center"><span class="Style5">MOBILIER DE BUREAU</span></div>
<tr>
<th>Numero d'Inventaire</th>
<th>Désignation</th>
<th>Forme</th>
<th>Spécificité</th>
</tr>
<tr>
<td><input type="text" size="20" value="" name="num1[0]" /></td>
<td><input type="text" size="15" value="" name="designation1[0]" /></td>
<td><input type="text" size="15" value="" name="forme1[0]" /></td>
<td><select name="specificite[0]">
<option>Bois</option>
<option>Cuir</option>
<option>Métallique</option>
<option>Plastique</option></select>
</td>
</tr>
<tr>
<td><input name="num[1]" type="text" size="20" /> </td>
<td><input name="designation[1]" type="text" size="15" /></td>
<td><input name="forme[1]" type="text" size="15" /></td>
<td><select name="specificite[1]">
<option>Bois</option>
<option>Cuir</option>
<option>Métallique</option>
<option>Plastique</option></select>
</td>
</tr>
<tr>
<td><input name="num[2]" type="text" size="20" /></td>
<td><input name="designation[2]" type="text" size="15" /></td>
<td><input name="forme[2]" type="text" size="15" /></td>
<td><select name="specificite[2]">
<option>Bois</option>
<option>Cuir</option>
<option>Métallique</option>
<option>Plastique</option> </select>
</td>
</tr>
<tr>
<td><input name="num[3]" type="text" size="20" /></td>
<td><input name="designation[3]" type="text" size="15" /></td>
<td><input name="forme[3]" type="text" size="15" /></td>
<td><select name="specificite[3]">
<option>Bois</option>
<option>Cuir</option>
<option>Métallique</option>
<option>Plastique</option></select>
</td>
</tr>
<tr>
<td><input name="num[4]" type="text" size="20" /></td>
<td><input name="designation[4]" type="text" size="15" /></td>
<td><input name="forme[4]" type="text" size="15" /></td>
<td><select name="specificite[4]">
<option>Bois</option>
<option>Cuir</option>
<option>Métallique</option>
<option>Plastique</option></select>
</td>
</tr>
</table>
</form>
Mon pbm est sur le code d'insertion càd dans la page add_mobilier.php j'ai comme ceci:
<?php
require_once("connexion.php");
for ($i=0; $i<5;)
{
// declaration de la variable dans le table mobilier de bureau
$V=htmlentities(addslashes($_POST['num[i]']));

$D=htmlentities(addslashes($_POST['designation[i]']));
$F=htmlentities(addslashes($_POST['forme[i]']));
$S=htmlentities(addslashes($_POST['specificite[i]']));
//--->
// insertion des données dans la table mobilier de bureau
$bureau="insert into mobilier_bureau values ('$M','$V', '$D', '$F','$S')";
mysql_query($bureau) or die(mysql_error());
echo "<p><font face='Arial' size='3'><center>L'enregistrement du mobilier de bureau est bien faite</center></font></p>";
//--->
}
?>
Ce code la ne marche pas.
Eske quelq'un qui a une idée pour me resoudre mon pbm, je vous remercie d'avance.
Bonne journee.
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. Bonjour

    Ce code la ne marche pas
    C'est vague... Qu'est-ce qui ne marche pas ? des messages d'erreur ? lesquels ? Un fonctionnement qui n'est pas celui que tu attends ?
    1. Salut,

      Apparemment il manque un truc la
      for ($i=0; $i<5;) 

      qq chose comme
      for ($i=0; $i<5;$i++) 

      Par exemple
      1. Pour me repondre au Toto,
        Mon pbm est sur le code d'INSERT INTO si je fait l'enregistrement , il ne fais rien càd il n'enregistre pas les données à saisir sur le formulaire dans sa table de la base de donnée.
        Merci d'avance.
        1. Bonjours,

          qqs erreurs

          <?php
          require_once("connexion.php");
          for ($i=0; $i<5;$i++)//il te manque l'incrementation 
          {
          // declaration de la variable dans le table mobilier de bureau
          $M="";//tu insert une valeur $M qui n'est pas définie ni chargée nulle part
          //tu utilises la boucle sur une variable $i, il faut donc dans la boucle mettre $i et pas i
          $V=htmlentities(addslashes($_POST['num[$i]']));
          
          $D=htmlentities(addslashes($_POST['designation[$i]']));
          $F=htmlentities(addslashes($_POST['forme[$i]']));
          $S=htmlentities(addslashes($_POST['specificite[$i]']));
          //--->
          // insertion des données dans la table mobilier de bureau
          //essayes sous cette forme et en mettant les parties en majuscules c'est plus parlant n'est pas !
          $bureau="INSERT INTO mobilier_bureau VALUES ('."$M."','."$V."', '".$D."', '".$F."','".$S."')";
          mysql_query($bureau) or die(mysql_error()); 
          
          etc....
          
        2. @Alain_42A mon avis, petite erreur de frappe:
          Plutôt
          $bureau="INSERT INTO mobilier_bureau VALUES ('".$M."','".$V."', '".$D."', '".$F."','".$S."')";
          à la place de
          $bureau="INSERT INTO mobilier_bureau VALUES ('."$M."','."$V."', '".$D."', '".$F."','".$S."')";
        3. @Dr Zoidbergoui effectivement

          petites erreurs de frappe, en voulant faire vite n'est ce pas ?
      2. Merci pour vous de me repondre mais on a encore de pbm: si je fais corrige mon ereur, on a un nouvel erreur. Voici l'erreur:
        Notice: Undefined index: num[$i] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 52

        Notice: Undefined index: designation[$i] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 53

        Notice: Undefined index: forme[$i] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 54

        Notice: Undefined index: specificite[$i] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 55
        Duplicata du champ '' pour la clef 1.
        ESke je mets le boucle for aussi dans le formulaire pour saisir les données ou non?
        Merci d'avance
        1. Il faudrait remplacer les 4 appels à post:
          $_POST['num[$i]']
          par
          $_POST["num[$i]"]

          et comme le dit Alain tu ne mets rien dans $M qui est (peut-être ?) la clé.
          1. Merci sur ta reponse mais il a encore des erreurs comme ceci:
            Notice: Undefined index: num[0] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 52

            Notice: Undefined index: designation[0] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 53

            Notice: Undefined index: forme[0] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 54

            Notice: Undefined index: specificite[0] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 55

            Notice: Undefined index: num[1] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 52

            Notice: Undefined index: designation[1] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 53

            Notice: Undefined index: forme[1] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 54

            Notice: Undefined index: specificite[1] in c:\program files\easyphp1-8\www\essai\ajout_fiche.php on line 55

            Dans le formulaire esk'on ppeut faire de boucle for pour créer la ligne dans ce tableau ou non.
            Merci d'avance
            1. Voici le code dans le formulaire d'insertion:
              <form method="POST" action="add_mobilier.php">
              <table width="200" border="1">
              <div align="center"><span class="Style5">MOBILIER DE BUREAU</span></div>
              <tr>
              <th>Numero d'Inventaire</th>
              <th>Désignation</th>
              <th>Forme</th>
              <th>Spécificité</th>
              </tr>
              <tr>
              <td><input type="text" size="20" value="" name="num[0]" /></td>
              <td><input type="text" size="15" value="" name="designation[0]" /></td>
              <td><input type="text" size="15" value="" name="forme[0]" /></td>
              <td><select name="specificite[0]">
              <option>Bois</option>
              <option>Cuir</option>
              <option>Métallique</option>
              <option>Plastique</option></select>
              </td>
              </tr>
              <tr>
              <td><input name="num[1]" type="text" size="20" /> </td>
              <td><input name="designation[1]" type="text" size="15" /></td>
              <td><input name="forme[1]" type="text" size="15" /></td>
              <td><select name="specificite[1]">
              <option>Bois</option>
              <option>Cuir</option>
              <option>Métallique</option>
              <option>Plastique</option></select>
              </td>
              </tr>
              <tr>
              <td><input name="num[2]" type="text" size="20" /></td>
              <td><input name="designation[2]" type="text" size="15" /></td>
              <td><input name="forme[2]" type="text" size="15" /></td>
              <td><select name="specificite[2]">
              <option>Bois</option>
              <option>Cuir</option>
              <option>Métallique</option>
              <option>Plastique</option> </select>
              </td>
              </tr>
              <tr>
              <td><input name="num[3]" type="text" size="20" /></td>
              <td><input name="designation[3]" type="text" size="15" /></td>
              <td><input name="forme[3]" type="text" size="15" /></td>
              <td><select name="specificite[3]">
              <option>Bois</option>
              <option>Cuir</option>
              <option>Métallique</option>
              <option>Plastique</option></select>
              </td>
              </tr>
              <tr>
              <td><input name="num[4]" type="text" size="20" /></td>
              <td><input name="designation[4]" type="text" size="15" /></td>
              <td><input name="forme[4]" type="text" size="15" /></td>
              <td><select name="specificite[4]">
              <option>Bois</option>
              <option>Cuir</option>
              <option>Métallique</option>
              <option>Plastique</option></select>
              </td>
              </tr>
              <tr><td><input type="submit" value="Ajouter"></td></tr>
              </table>
              </form>
              Esk'on peut faire ça ou se construit avec un boucle for.
              Merci beaucoup