[PHP] Formulaire avec checkboxes

Formulaire avec checkboxes [PHP] - PHP - Programmation

Marsh Posté le 26-11-2002 à 14:42:07    

A priori, quand on utilise un formulaire avec plusieurs checkboxes (pas des boutons radios, hein!), on peut utiliser le même nom pour toutes les checkboxes, comme dans l'exemple suivant:

Code :
  1. ...
  2. <form name="f" method="post" action="test.php">
  3. <input type="checkbox" name="case" value="A" />
  4. <input type="checkbox" name="case" value="B" />
  5. <input type="checkbox" name="case" value="C" />
  6. <input type="submit" />
  7. </form>
  8. ...


Le problème, c'est comment récupérer TOUTES les cases cochées?
Par exemple, mettons que je coche les cases A et C et que j'envoie le formulaire vers le script test.php dont voici le code:

Code :
  1. <?
  2. echo $case;
  3. ?>


J'obtiens alors:

Code :
  1. C


 
J'ai lu ça dans un autre topic:

Citation :

ben le plus simple c de donner le meme nom a toutes tes checkbox, avec des values differentes, en postant le formulaire tu obtiendras la liste des values des checkbox selectionnees, séparées par des virgules, t'as plus qu'a exploder ca dans un tableau


 
J'ai donc essayé ça:

Code :
  1. $tab = explode(',',$case);
  2. echo 'A:'.$tab[0].'<br>';
  3. echo 'B:'.$tab[1].'<br>';
  4. echo 'C:'.$tab[2].'<br>';


Et j'ai obtenu ça:

Code :
  1. A:C
  2. B:
  3. C:


Donc, bide aussi!
 
Comment faire, donc?
Note: Je tiens absolument à avoir toutes les cases avec le même nom.
Merci d'avance pour votre aide.

Reply

Marsh Posté le 26-11-2002 à 14:42:07   

Reply

Marsh Posté le 26-11-2002 à 14:55:27    

Humm sur mon site, on traite le problème en Javascript.
 
document.forms[0].champcache.value += document.forms[0].champ[i].value + ";";
 
Et tu récupères ta chaîne complète dans le champ caché.

Reply

Marsh Posté le 26-11-2002 à 14:57:53    

name="case[]"
 
Et après les valeurs sont dans un tableau...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 26-11-2002 à 15:02:27    

gm_superstar a écrit a écrit :

name="case[]"
 
Et après les valeurs sont dans un tableau...




YAISSSSSSSS! Ca marche, merci!
 
fred999 > Merci quand-même, mais je voulais éviter le JS superflu...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed