Page 1 sur 1

Récuperer plusieur valeur checkbox

Posté : 14 nov. 2008, 00:33
par Arno76
Bonjour,

J'ai un petit problème j ai mis un formulair sur mon site avec un plusieurs champs checkbox le problème et que qui porte le même nom et je peut récupérer que la dernière valeur pouvez vous me dire comment récupérer les valeur précédente merci.

(le champs checkbox et dans une boucle).

Code : Tout sélectionner

<INPUT name="valeur" type="checkbox" value="1" /> <INPUT name="valeur" type="checkbox" value="2" /> <INPUT name="valeur" type="checkbox" value="3" /> <INPUT name="valeur" type="checkbox" value="4" />
et la je peut récupérer que la valeur 4 et pas les précédentes....

Merci pour votre aide.

Posté : 14 nov. 2008, 00:51
par AB
Tes valeurs sont stockées dans le tableau $_POST['valeur']

Il faut donc lister ce tableau pour voir les cases qui ont été cochées.

Posté : 14 nov. 2008, 00:53
par djtec
Bonsoir déjà il faut faire:

Code : Tout sélectionner

<input name="valeur[]" type="checkbox" value="1" /> <input name="valeur[]" type="checkbox" value="2" /> <input name="valeur[]" type="checkbox" value="3" /> <input name="valeur[]" type="checkbox" value="4" />
après il faut faire:
<?php
$valeur = $_POST["valeur"];

foreach ($valeur as $val)
{
       echo 'Choix utilisateur: '.$val.'<br />';
}
?>
Voilà...

++

Posté : 14 nov. 2008, 01:03
par Arno76
Merci pour la réponse rapide nikel ;)

Posté : 14 nov. 2008, 02:39
par AB
Petite précision au passage, les checkbox non cochés n'auront pas de correspondance dans le tableau.

C'est à dire que dans l'exemple de djtec (configuration standard) en cochant le premier et le troisième on aura $_POST['valeur'][0] = 1 et $_POST['valeur'][1] = 3. Donc dans ce cas faire attention à ne pas prendre la clé du tableau comme étant significative du checkbox coché.

Posté : 14 nov. 2008, 02:52
par Arno76
Merci la valeur me sert juste a récupérer les infos qui lui sont égale ;)

Posté : 14 nov. 2008, 03:01
par AB
Au cas où, si tu souhaites que l'index soit significatif, il suffit d'indexer ton tableau avec la valeur du checkbox
<form  action="" method="POST">
<input name="valeur[1]" type="checkbox" value="1" />
<input name="valeur[2]" type="checkbox" value="2" />
<input name="valeur[3]" type="checkbox" value="3" />
<input name="valeur[4]" type="checkbox" value="4" />
<input type="submit" value="ok"/>
</form>
Dans ce cas pour savoir si le checkbox de valeur 3 a été coché tu pourras écrire simplement
if (isset($_POST['valeur'][3])) echo 'le checkbox 3 est coché';