Récupération valeur d'un formulaire _PHP

twix_et_chocobon Messages postés 190 Statut Membre -  
schancel Messages postés 296 Date d'inscription   Statut Membre Dernière intervention   -
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. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    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
  2. schancel Messages postés 296 Date d'inscription   Statut Membre Dernière intervention   49
     
    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