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. 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
    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. 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 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. 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. Salut,

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

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

            Par exemple
            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 ?