Checkbox multicritères

Eléphanteau du PHP | 44 Messages

17 mai 2005, 21:06

Bonjour à tous,

J'ai créé un formulaire avec des chechkbox qui correspondent chacun à un type de documents.
Si on cohce 2 chechkbox, seul le type de doc. correspondant au dernier checkbox sélectionné apparaît dans ma page resultat.php.
Or, je souhaiterais récupérer les documents de chaque checkbox sélectionnés.
Voici mon form:

<form name="form1" method="get" action="resultat.php">
<input name="VARCase" type="checkbox" id="Actes" value="1">Acte<br>
<input name="VARCase" type="checkbox" id="Art" value="2">Art<br>
<input name="VARCase" type="checkbox" id="Brochure" value="3">Brochure<br>
</form>

J'ai consulté pas mal de forum, sans succès.
Je crois que je dois faire une boucle, mais je débute et sais pas trop comment faire.
Auriez-vous un script pour me dépanner?
D'avance merci
Pierre :?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mai 2005, 21:08

c'est parcequ'elle ont toutes le même nom, résultat tu as une seule variable pour toutes ces checkbox

il faut que tu leur donnes un nom différent
ce qui se fait souvent c'est de donner un nom avec un indice
checkbox[1], checkbox[2]...

comme ça tu peux boucler à la réception

BFH
Eléphant du PHP | 214 Messages

17 mai 2005, 21:38

Tu n'as qu'a lire un post a moi nommé "Problème de transmission de valeur d'un formulaire" resolu par Cyrano.
Perdu dans la matrice avec un guide michelin ](*,) #-o
Adorateur de Cyrano
Parti puis revenu...

Eléphanteau du PHP | 44 Messages

17 mai 2005, 22:03

J'ai bien essayé de comprendre, mais il y a tellement ds post et de morceau de script que c'est assez décousu pour un novice de mon genre.
Sans vouloir abuser, pourrais-tu me coper le script complet?
:?
Pierre

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mai 2005, 22:07

franchement, je ne vois pas de quoi tu as besoin pour le moment

j'ai la bizarre impression de poster dans le vent depuis quelques temps...

ton problème : tu ne récupères que la valeur de la dernière checkbox cochée
je te réponds que c'est parcequ'elle ont le même nom et donc qu'il n'y a qu'une seule variable et forcément elle prend la dernière valeur trouvée

je te dis ensuite qu'il n'y a qu'à leur donner un nom différent, pour récupérer chaque valeur
et que ces noms peuvent être sous la forme d'un tableau pour que ce soit plus facile à traiter

est-ce si sorcier que ça ??
honnêtement tu as tout ce qu'il faut dans ce que je t'ai dit, tu n'as même pas besoin d'aller voir d'autres posts pour le moment, et personne ne te copiera de "script complet"

Code : Tout sélectionner

<form name="form1" method="get" action="resultat.php"> <input name="VARCase[0]" type="checkbox" id="Actes" value="1">Acte<br> <input name="VARCase[1]" type="checkbox" id="Art" value="2">Art<br> <input name="VARCase[2]" type="checkbox" id="Brochure" value="3">Brochure<br> </form>
voilà la modification faite, 2 crochets et 1 chiffre, fiou je vais me coucher ça m'a épuisé :sleeping:

Eléphanteau du PHP | 44 Messages

17 mai 2005, 22:12

Ok chef! Faut pas s'énerver.
Il est quand même bien écrit "Débuter en PHP" en haut de la page?
Pierre

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mai 2005, 22:17

je ne m'énerve pas
c'est juste que j'ai posté de quoi t'aider et c'est comme si tu ne l'avais pas lu

et je ne t'ai pas reproché de ne pas savoir faire, je t'ai reproché de ne pas avoir essayé alors que tu avais tous les éléments pour régler ton problème

maintenant si tu essayes avec ce que je te donne, et que tu as des problèmes ou que tu souhaites des précisions, alors là aucun soucis n'importe qui te filera un coup de main

c'est ça que sous-entend "Débuter en PHP" ;)

++ ;)

Mammouth du PHP | 19672 Messages

17 mai 2005, 22:17

Salut,
au lieu de:
<input name="VARCase" type="checkbox" id="Actes" value="1">Acte<br>
mets plutôt:
<input name="VARCase[]" type="checkbox" id="Actes" value="1">Acte<br>
Tu récupèreras un tableau indexé avec toutes les cases cochées en faisant :
$VARCase = $_GET['VARCase'];
Cette variable est un tableau avec autant d'index que de cases cochées, $VARCase[0], $VARCase[1], etc.. contenant chacune la valeur de l'attribut value du chaque case.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mai 2005, 22:24

ouais, à peu de choses près ce que j'ai dit il me semble... :?

bien vu pour le coup du tableau auto-indexé

Eléphanteau du PHP | 44 Messages

18 mai 2005, 09:35

Merci.
La nuit porte conseil.
C'est ok depuis ce matin
:lol:

Eléphant du PHP | 406 Messages

18 mai 2005, 15:25

je voulais savoir dans la page resultat
pour recuperer les case cocher
il faut rajouter ce code
<? 
 $VARCase = $_GET['VARCase']; 

echo $VARCase;
?>
mais le truc est que cela n affiche que array
est ce normal ?

Merci

Mammouth du PHP | 19672 Messages

18 mai 2005, 15:29

Si c'est un tableau, alors utiliser ce qui suit:
<?php
 $VARCase = $_GET['VARCase'];
echo("<pre>");
var_dump($VARCase);
echo("</pre>\n");
?>
c'est la méthode que personnellement j'utilise presque toujours.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 406 Messages

18 mai 2005, 16:23

c est nickel ce truc mais tu vois ce que je souhaite c est recuperer la valeur des case cocher dans la meme page , pour les reafficher dans un autre tableau sur cette meme page.

Dans l url il n y a pas de nom precis pour les case à cocher

Eléphant du PHP | 406 Messages

19 mai 2005, 09:46

c est bon
j ai reussi