Cases à cocher, en une variable

Mammouth du PHP | 959 Messages

11 avr. 2008, 15:38

Bonjour,

Je vous pris d'abord de m'excuser si mon titre n'est pas très clair....

Mon problème est le suivant :
J'ai un formulaire, avec de cases à cocher, une fois soumis, je voudrai construire une seule variable selon les cases cochées...
		$total_checked = ""; // Initialisation de la variable...
		if( $_POST['carte_de_brasserie'] == "on" ) {
			$total_checked .= "Carte de Brasserie<br />";
		} elseif( $_POST['carte_de_visite'] == "on" ) {
			$total_checked .= $_POST['carte_de_visite_nombre']." cartes de Visite<br />";
		} elseif( $_POST['plaquette_commerciale'] == "on" ) {
			$total_checked .= "Plaquette Commerciale<br />";
		} elseif( $_POST['affiche'] == "on" ) {
			$total_checked .= "Affiche<br />";
		} elseif( $_POST['affiche_4x3'] == "on" ) {
			$total_checked .= "Affiche 4 x 3<br />";
		} elseif( $_POST['enseigne_exterieure'] == "on" ) {
			$total_checked .= "Enseigne Exterieure<br />";
		} elseif( $_POST['depliant'] == "on" ) {
			$total_checked .= "D&eacute;pliant<br />";
		} elseif( $_POST['catalogue'] == "on" ) {
			$total_checked .= "Catalogue d'environ ".$_POST['catalogue_nb_pages']." pages";
		} elseif( $_POST['autre'] == "on" ) {
			$total_checked .= "Autre : <b>".$_POST['autre_preciser']."</b>";
		}
j'ai fais ça mais il me renvoi la première qu'il trouve... par exemple, si j'ai cocher "Plaquette Commerciale" et "Dépliant", il va me mettre que "Plaquette Commerciale" dans la variable $total_checked....

Merci de votre aide :)

Eléphant du PHP | 422 Messages

11 avr. 2008, 16:24

C'est le fonctionnement normal de if ... elseif ...
Il teste la première condition : si elle est vraie, il l'applique et terminé.
Sinon, il teste la deuxième condition : si elle est vraie, il l'applique et terminé
Sinon, il teste la troisième ...

Toi, tu n'as pas besoin de faire un if ... elseif ..., mais plutôt une suite de if sans rapport les uns avec les autres.

Mammouth du PHP | 959 Messages

11 avr. 2008, 16:33

ah ok xD :o

Merci ça marche :)