Récupération valeur d'un formulaire _PHP

Bonjour à tous,

voila j'ai le code suivant qui me permet d'ajouter un champs dans un fomulaire grace à un bouton "ajouter un champs" :

<script>
function create_champ(i)
{

var i2 = i + 1;

document.getElementById('leschamps_'+i).innerHTML = '<input type="file" name="fichier_'+i+'"></span>';
document.getElementById('leschamps_'+i).innerHTML += (i <= 10) ? '<br /><span id="leschamps_'+i2+'"><a href="javascript:create_champ('+i2+')">Ajouter un champs</a></span>' : '';
}
</script>

et le code suivant que j'ai mis dans mon formulaire :

<input type="file" name="fichier_1" /><br />
<input type="file" name="fichier_1" /><br />
<input type="file" name="fichier_1" /><br />
<span id="leschamps_4"><a href="javascript:create_champ(4)">Ajouter un champs</a></span><noscript><a href="http://www.editeurjavascript.com/">ajax</a></noscript>

mon probleme est que je souhaite récuperer les valeurs saisies de chaque champs pour ensuite les placer dans une base de données.
mais je n'arrive a récupere que les 2 permier champs saisis.

je voudrais pouvoir récupérer toute les valeurs quelques soit le nombre de champs ajouté . mais je ne sais pas comment faire ..

quelqu'un aurait il une idée ?

merci d'avance.

2 réponses

  1. Salut,

    Il faudrait que ton input type="file" ait un name="fichier[]" par exemple.
    (Ce qui résultera en un tableau en PHP : $_POST['fichier'] que tu pourras parcourir avec foreach par exemple)
    0
    1. je fai tous pour t'aider mais wampserver que j'utilise a un petit probleme ,regarde ce code ci,j'utiliserai toutefoi PDO comme moyen de communication avec la base de données
      et j'ai reécris les scripts javascripts
      <souligné>Page1</souligné>
      <?php

      ?>
      <html>

      <head>
      <title>Mes tests</title>
      <script>
      var incr =0;
      function addField(x)
      {
      incr+=1;
      var y = document.getElementById(x);
      y.innerHTML += '<label for="">Saisir :</label><input type="file" name="valeur'+incr+'" id="valeur'+incr+'"/><br/>';
      }
      function numF(x)
      {
      var y = document.getElementById(x);

      y.value = incr;
      alert(y.value);
      }

      </script>

      </head>
      <body>
      <style>
      </style>
      <div id="bloc_contenant_les_images">
      <div id="int_bloc">
      <form method="POST" action="cible.php">
      <fieldset id="fd">
      <legend>Test</legend>
      <button type="button" id="but" name="but" onclick="addField('fd');">Ajouter un champ</button><br/>
      <input type="hidden" name="numField" id="numField"/>
      </fieldset>
      <input type="submit" name="submit" id="submit" onclick="numF('numField');"/>
      </form>

      </div>
      </div>

      </body>

      </html>
      <souligné>Page 2</souligné>
      <?php
      if(isset($_POST['submit']))
      {
      if(isset($_post['numField']))
      {
      for($i=0;$i<$_POST['numField'];$i++)
      {
      if(isset($_POST['valeur'.$i]))
      {
      try
      {
      $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
      $req = $bdd->prepare('INSERT INTO reception(champi) VALUES(?)');
      $req->execute(array($_POST['valeur'.$i]));
      }
      catch(Exception $e)
      {
      die('Erreur : '.$e->getMessage());
      }
      }

      }
      }

      }

      ?>

      tu peu toujours apporter des modifs
      0