Récuperer plusieur valeur checkbox

Eléphant du PHP | 136 Messages

14 nov. 2008, 00:33

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.
Modifié en dernier par Arno76 le 14 nov. 2008, 01:15, modifié 1 fois.

ViPHP
AB
ViPHP | 5818 Messages

14 nov. 2008, 00:51

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.

Eléphant du PHP | 451 Messages

14 nov. 2008, 00:53

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à...

++

Eléphant du PHP | 136 Messages

14 nov. 2008, 01:03

Merci pour la réponse rapide nikel ;)

ViPHP
AB
ViPHP | 5818 Messages

14 nov. 2008, 02:39

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é.
Modifié en dernier par AB le 14 nov. 2008, 02:58, modifié 2 fois.

Eléphant du PHP | 136 Messages

14 nov. 2008, 02:52

Merci la valeur me sert juste a récupérer les infos qui lui sont égale ;)

ViPHP
AB
ViPHP | 5818 Messages

14 nov. 2008, 03:01

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é';