Récupération valeur d'un formulaire _PHP

twix_et_chocobon Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -  
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

Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   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
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