Code en PHP

joella Messages postés 114 Statut Membre -  
joella Messages postés 114 Statut Membre -
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. toto
     
    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 ?
    0
  2. Dr Zoidberg Messages postés 547 Statut Membre 100
     
    Salut,

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

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

    Par exemple
    0
  3. joella Messages postés 114 Statut Membre 12
     
    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.
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      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....
      
      0
      1. Dr Zoidberg Messages postés 547 Statut Membre 100 > Alain_42 Messages postés 5413 Statut Membre
         
        A 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."')";
        0
      2. Alain_42 Messages postés 5413 Statut Membre 904 > Dr Zoidberg Messages postés 547 Statut Membre
         
        oui effectivement

        petites erreurs de frappe, en voulant faire vite n'est ce pas ?
        0
  4. joella Messages postés 114 Statut Membre 12
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Dr Zoidberg Messages postés 547 Statut Membre 100
     
    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é.
    0
  7. joella Messages postés 114 Statut Membre 12
     
    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
    0
  8. joella Messages postés 114 Statut Membre 12
     
    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
    0