Page 1 sur 1

$_POST et checkbox

Posté : 27 avr. 2008, 18:44
par katagoto
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...

Posté : 27 avr. 2008, 19:09
par AB
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>';
            } 

Posté : 27 avr. 2008, 19:24
par x@v
toutes tes variables sont identique ?
categorie_comunaute

Posté : 27 avr. 2008, 19:44
par katagoto
Bah à la fin si $again_form=1 je ferais echo affiche_form_again;
Voilà :roll:

Posté : 27 avr. 2008, 20:23
par dunbar
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>' ;
}

Posté : 28 avr. 2008, 18:46
par katagoto
Super ^^
Bon je vais plutôt les traité et m'en reservir après mais tout baigne, merci...

Posté : 28 avr. 2008, 19:11
par x@v
que voilà une bonne technique, merci ;)

Posté : 29 avr. 2008, 13:36
par geqr
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 [].

Posté : 29 avr. 2008, 18:02
par Sékiltoyai
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 ?

Posté : 29 avr. 2008, 19:51
par katagoto
Non rien c'est un déconneur :)
Ca c'est du JS, et il faut indiquer un ID à tes balises...

Posté : 29 avr. 2008, 19:57
par Sékiltoyai
Euh, non, tout simplement utiliser les fonctionnalités de DOM…