$_POST et checkbox

Mammouth du PHP | 1668 Messages

27 avr. 2008, 18:44

Bonjour à tous et toutes,
A peine une question disparait qu'une autre apparait...
Voilà mon formulaire :

Code : Tout sélectionner

<p>Catégorie(s)* (1 à 5 choix) :</p> <input type="checkbox" name="categorie_comunautee" value="informatique" id="Informatique" /> <label for="Informatique">Informatique</label><br /> <input type="checkbox" name="categorie_comunautee" value="sport" id="sport" /> <label for="sport">sport</label><br /> <input type="checkbox" name="categorie_comunautee" value="jeux-video" id="jeux-video" /> <label for="jeux-video">jeux-video</label><br /> <input type="checkbox" name="categorie_comunautee" value="travail" id="Travail" /> <label for="Travail">Travail</label><br /> <input type="checkbox" name="categorie_comunautee" value="web" id="Web" /> <label for="Web">Web</label><br /> <input type="checkbox" name="categorie_comunautee" value="divers" id="divers" /> <label for="divers">Autre/divers</label><br /> <input type="checkbox" name="categorie_comunautee" value="programmation" id="programmation" /> <label for="programmation">Programmation</label><br /> <input type="checkbox" name="categorie_comunautee" value="graphisme" id="graphisme" /> <label for="graphisme">graphisme</label><br /> <input type="checkbox" name="categorie_comunautee" value="serie-tv" id="serie-tv" /> <label for="serie-tv">Series TV</label><br /> <input type="checkbox" name="categorie_comunautee" value="BD-manga" id="BD-manga" /> <label for="BD-manga">BD/Mangas</label><br /> <input type="checkbox" name="categorie_comunautee" value="musique" id="musique" /> <label for="musique">musique</label><br /> <input type="checkbox" name="categorie_comunautee" value="3d" id="3d" /> <label for="3d">3D</label><br />
Voilà et je ne sais pas comment le récuperer j'arrive à ça :
if (isset($_POST['categorie_comunautee']) AND $_POST['categorie_comunautee']!="") {
			if (is_array($_POST['categorie_comunautee'])) {
			// ?	
			}
			else {
			$categorie_comunautee=htmlspecialchars(addslashes($_POST['categorie_comunautee']));
			}
		}
		else {
			if (isset($again_form) AND $again_form==1) {
				$affiche_again_form.="<p>Indiquez au moins une catégorie :</p>";
				$affiche_again_form.='
<p>Catégorie(s)* (1 à 5 choix) :</p>
<input type="checkbox" name="categorie_comunautee" value="informatique" id="Informatique" /> <label for="Informatique">Informatique</label><br />
<input type="checkbox" name="categorie_comunautee" value="sport" id="sport" /> <label for="sport">sport</label><br />
<input type="checkbox" name="categorie_comunautee" value="jeux-video" id="jeux-video" /> <label for="jeux-video">jeux-video</label><br />
<input type="checkbox" name="categorie_comunautee" value="travail" id="Travail" /> <label for="Travail">Travail</label><br />
<input type="checkbox" name="categorie_comunautee" value="web" id="Web" /> <label for="Web">Web</label><br />
<input type="checkbox" name="categorie_comunautee" value="divers" id="divers" /> <label for="divers">Autre/divers</label><br />
<input type="checkbox" name="categorie_comunautee" value="programmation" id="programmation" /> <label for="programmation">Programmation</label><br />
<input type="checkbox" name="categorie_comunautee" value="graphisme" id="graphisme" /> <label for="graphisme">graphisme</label><br />
<input type="checkbox" name="categorie_comunautee" value="serie-tv" id="serie-tv" /> <label for="serie-tv">Series TV</label><br />
<input type="checkbox" name="categorie_comunautee" value="BD-manga" id="BD-manga" /> <label for="BD-manga">BD/Mangas</label><br />
<input type="checkbox" name="categorie_comunautee" value="musique" id="musique" /> <label for="musique">musique</label><br />
<input type="checkbox" name="categorie_comunautee" value="3d" id="3d" /> <label for="3d">3D</label><br />';
			}
			else {
				$again_form=1;
				$affiche_again_form.="<p>Indiquez au moins une catégorie :</p>";
				$affiche_again_form.='
<p>Catégorie(s)* (1 à 5 choix) :</p>
<input type="checkbox" name="categorie_comunautee" value="informatique" id="Informatique" /> <label for="Informatique">Informatique</label><br />
<input type="checkbox" name="categorie_comunautee" value="sport" id="sport" /> <label for="sport">sport</label><br />
<input type="checkbox" name="categorie_comunautee" value="jeux-video" id="jeux-video" /> <label for="jeux-video">jeux-video</label><br />
<input type="checkbox" name="categorie_comunautee" value="travail" id="Travail" /> <label for="Travail">Travail</label><br />
<input type="checkbox" name="categorie_comunautee" value="web" id="Web" /> <label for="Web">Web</label><br />
<input type="checkbox" name="categorie_comunautee" value="divers" id="divers" /> <label for="divers">Autre/divers</label><br />
<input type="checkbox" name="categorie_comunautee" value="programmation" id="programmation" /> <label for="programmation">Programmation</label><br />
<input type="checkbox" name="categorie_comunautee" value="graphisme" id="graphisme" /> <label for="graphisme">graphisme</label><br />
<input type="checkbox" name="categorie_comunautee" value="serie-tv" id="serie-tv" /> <label for="serie-tv">Series TV</label><br />
<input type="checkbox" name="categorie_comunautee" value="BD-manga" id="BD-manga" /> <label for="BD-manga">BD/Mangas</label><br />
<input type="checkbox" name="categorie_comunautee" value="musique" id="musique" /> <label for="musique">musique</label><br />
<input type="checkbox" name="categorie_comunautee" value="3d" id="3d" /> <label for="3d">3D</label><br />';
		}
		}
c'est à ça que je bloque (// ?)

D'avance merci pour vos réponses...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
AB
ViPHP | 5818 Messages

27 avr. 2008, 19:09

ce n'est pas la solution mais au moins tu y verras plus clair :
if (is_array($_POST['categorie_comunautee'])) {
echo '<pre>';
print_r($_POST['categorie_comunautee']);
echo '</pre>';
            } 

x@v
Mammouth du PHP | 570 Messages

27 avr. 2008, 19:24

toutes tes variables sont identique ?
categorie_comunaute

Mammouth du PHP | 1668 Messages

27 avr. 2008, 19:44

Bah à la fin si $again_form=1 je ferais echo affiche_form_again;
Voilà :roll:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 2291 Messages

27 avr. 2008, 20:23

salut
Je ne suis pas certain d'avoir compris :!: :wink: mais peut-être comme ceci :?:
<input type="checkbox" name="categorie_comunautee[]" value="informatique" id="Informatique" /> <label for="Informatique">Informatique</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="sport" id="sport" /> <label for="sport">sport</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="jeux-video" id="jeux-video" /> <label for="jeux-video">jeux-video</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="travail" id="Travail" /> <label for="Travail">Travail</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="web" id="Web" /> <label for="Web">Web</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="divers" id="divers" /> <label for="divers">Autre/divers</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="programmation" id="programmation" /> <label for="programmation">Programmation</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="graphisme" id="graphisme" /> <label for="graphisme">graphisme</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="serie-tv" id="serie-tv" /> <label for="serie-tv">Series TV</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="BD-manga" id="BD-manga" /> <label for="BD-manga">BD/Mangas</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="musique" id="musique" /> <label for="musique">musique</label><br />
        <input type="checkbox" name="categorie_comunautee[]" value="3d" id="3d" /> <label for="3d">3D</label><br />
Et pour la récupération :
$tab = $_POST['categorie_comunautee']; 

foreach ($tab as $value) 
 {
echo  $value.'<br>' ;
}

Mammouth du PHP | 1668 Messages

28 avr. 2008, 18:46

Super ^^
Bon je vais plutôt les traité et m'en reservir après mais tout baigne, merci...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

x@v
Mammouth du PHP | 570 Messages

28 avr. 2008, 19:11

que voilà une bonne technique, merci ;)

Eléphanteau du PHP | 27 Messages

29 avr. 2008, 13:36

l'utilisation du array est la meilleure mais par contre si tu as dans l'optique de de faire un bouton "tout cocher" "tout décocher" .. bon courage, je n'y suis pas arriver ds le cas d'une checkbox mutliple avec untilisation du [].
Cordialement,

geqr

http://geqr.miniville.fr/

ViPHP
ViPHP | 5924 Messages

29 avr. 2008, 18:02

l'utilisation du array est la meilleure mais par contre si tu as dans l'optique de de faire un bouton "tout cocher" "tout décocher" .. bon courage, je n'y suis pas arriver ds le cas d'une checkbox mutliple avec untilisation du [].
Pourquoi donc ?

Mammouth du PHP | 1668 Messages

29 avr. 2008, 19:51

Non rien c'est un déconneur :)
Ca c'est du JS, et il faut indiquer un ID à tes balises...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 5924 Messages

29 avr. 2008, 19:57

Euh, non, tout simplement utiliser les fonctionnalités de DOM…