Passer un tableau.

Résolu/Fermé
linux1155 Messages postés 35 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 2 juillet 2012 - Modifié par linux1155 le 29/07/2010 à 05:09
linux1155 Messages postés 35 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 2 juillet 2012 - 31 juil. 2010 à 20:55
Bonjour,

J'ai plusieurs boutons style Checker, auquel l'usager peut en choisir plusieurs, lorsque j'appuie sur le bouton 'Submit', je devrais pouvoir les transférer à ma page de validation, or il n'y a que le dernier choix qui s'affiche. Voici le code des boutons:

<form method='post' action="XX.php" />
<?php
echo '<input type="checkbox" name="choix" value="case 1"> case 11, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 2"> case 22, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 3"> case 32, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 4"> case 42, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 5"> case 52, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 6"> case 62, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 7"> case 72, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 8"> case 82, GSO<br> ';
echo '<input type="checkbox" name="choix" value="case 9"> case 92<br> ';
echo '<input type="checkbox" name="choix" value="case 10"> case 102<br> ';
echo '<input type="checkbox" name="choix" value="case 11"> case 112<br> ';
echo '<input type="checkbox" name="choix" value="case 12"> case 122<br> ';
echo '<input type="checkbox" name="choix" value="case 13"> case 132<br> ';
echo '<input type="checkbox" name="choix" value="case 14"> case 1422<br> ';
?><br/>
<table>
<tr><td colspan='2'>
<textarea cols='50' rows='6' name="Information"></textarea></td></tr>
</table><br/>
<input type='submit' value="Envoyer" />
<input type='reset' value="Annuler" />
<input type='button' value="Retour" onclick="javascript:bouton_retour();" />

Pour l'affichage, voici le code:

<?php
session_start();
$choix = $_POST['choix'];
$nombre_de_lignes = 1;

while ($nombre_de_lignes <= 15)
{
echo 'Le membre ' . addslashes($choix) . '<br />';
$nombre_de_lignes++;
}
?>

Soit le transfert n'est pas correct, l'affichage n'est pas correct ou les deux !
& en plus si je choisi le dernier, comme exemple, il m'affiche "case14" pourquoi pas le 22 qui suit ?

Merci.

2 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
29 juil. 2010 à 12:33
Salut.

Il faut mettre un name différent à tes input, sinon il n'y a qu'une variable correspondant à la dernière case : $_POST['choix'] = "case 14"

C'est avec les <input type="radio" /> qu'il faut laisser le même name.
0
linux1155 Messages postés 35 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 2 juillet 2012
30 juil. 2010 à 04:17
Merci pour ta réponse,
Par contre si j'ai 14 variables à transférer dans mon programme XX.php, je dois donc inscrire 14 variables de cette façon: $choix1 = $_POST['choix1']; & $choix2 = $_POST['choix2']; etc.... jusqu'à 14, c'est hallucinant, il n'y aurais-t-il pas un autre moyen ?
Merci.
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
30 juil. 2010 à 13:48
for($i = 1 ; $i <= 14 ; $i++) {
    $choix{$i} = isset($_POST['choix'.$i]) ? $_POST['choix'.$i] : null;
}
0
linux1155 Messages postés 35 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 2 juillet 2012
31 juil. 2010 à 20:55
Ça fonctionne, Merci beaucoup de ton aide Mister avion-f16
0