PHP récupérer des valeurs dans un formulaire

Fermé
Tinabriga Messages postés 4 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 18 septembre 2008 - 9 sept. 2008 à 22:43
 tinabriga - 11 sept. 2008 à 21:33
Bonjour,

Voilà j'ai fait un petit code : j'aimerais à la fin de ce code récupérer les valeurs $_POST["joueur"] et $_POST["point"] mais j'y arrive pas. J'ai essayé mais pas moyen, le code est-il mal écrit?

merci d'avance pour toute réponse.

<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<label for="nb_participant">Entrez le nombre de participants :
<input type="text" name="nb_participant" size="7" id="nb_participant" value="<?php
if (!empty($_POST["nb_participant"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["nb_participant"],ENT_QUOTES);
}
?>"/><br/></label>
JOUEURS POINTS<br/>
<?php
srand((double)microtime()*1000000);

for ($i=1;$i<$_POST["nb_participant"]+1;$i++) {
$nombre=(rand(2,200));
if (($nombre%2)!=0) $nombre=$nombre+1;{

echo "<input type=\"text\" name=\"joueur\" size=\"10\" value=\" Joueur n° $i\"/>";
echo "<input type=\"text\" name=\"point\" size=\"7\" value=\"$nombre\"/><br/>";
}

}

?>
</form>

4 réponses

mouf13 Messages postés 142 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 22 février 2011 17
9 sept. 2008 à 22:57
les valeurs pe mais c le nom du champ qui importe pour recuperer la valeur $_POST['nom_du_champ']
1
Tinabriga Messages postés 4 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 18 septembre 2008
9 sept. 2008 à 23:13
Merci Mouf,

Tu veux pas m'expliquer car je fais :

echo $_POST['joueur'] ou echo $_POST['point'] mais rien ne s'affiche. Je pensais que le nom du champ était la valeur que contenait name.

Merci d'avance pour toute réponse.
-1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > Tinabriga Messages postés 4 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 18 septembre 2008
10 sept. 2008 à 14:24
C'est normal tu fais une boucle avec plusieurs joueurs et tous les input les concernant ont le même name 'joueur'

Essayes:

essai :
echo '<input type="text" name="joueur[$i]" size="10" value=" Joueur n° '.$i.'"/>';
echo '<iinput type="text" name="point[$i]" size="7" value="'.$nombre.'"/><br/>'; 



et tu récupéres par une boucle sur l'array $_POST['joueur']

for($i=0;$i<sizeof($_POST['joueur']);$i++){
   echo $_POST['joueur'][$i];
}

//idem pour les points
0
tinabriga > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
11 sept. 2008 à 21:33
Merci pour ta réponse cela fonctionne c'est en ordre.

Tina
0
mouf13 Messages postés 142 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 22 février 2011 17
10 sept. 2008 à 14:12
fait un test :
for($i = 0, $n = count($_POST['joueur']); $i < $n; $i++) {
echo $_POST['joueur'][$i];
}

enjoy !
1
Merci pour tes réponses cela fonctionne très bien.

Tina
0
Je dirais la même hose que mouf mais il m'a devancé :)
0
mouf13 Messages postés 142 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 22 février 2011 17
9 sept. 2008 à 22:48
essai :
echo '<input type="text" name="joueur[]" size="10" value=" Joueur n° '.$i.'"/>';
echo '<iinput type="text" name="point[]" size="7" value="'.$nombre.'"/><br/>';

Puis un print_r($_POST); pour savoir ce que tu recupères. tu comprendras...

actuellement tu boucles sur un champ qui porte le même nom donc dans ton $_POST tu récupere uniquement la dernière valeure contenue dans le champs.
-1
Tinabriga Messages postés 4 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 18 septembre 2008
9 sept. 2008 à 22:55
Bonsoir et un grand merci,

J'ai fait comme tu as indiqué et je récupère cela :

Array ( [nb_participant] => 3 )

Tu m'écris je boucle sur un champ qui porte le même nom. Les valeur de name sont différents.
Je comprend pas.

Tina
-1