[RESOLU] Renvoie de formulaire en php (case à cocher)

Petit nouveau ! | 7 Messages

04 juin 2014, 20:49

Bonsoir bonsoir.

Je débute en php et je souhaite faire un site de recette de cuisine exotique.
Le but c'est de choisir un plat, une entrée ou un dessert.
En fonction du 1er choix, on est renvoyé sur des listes déroulantes qui proposent des aliments.
En fonction des aliments choisis, une recette est sélectionnée et s'ouvre dans une nouvelle fenêtre.

J'ai commencé par faire mes 3 cases à cocher.
Mais je suis bloquer à l'utilisation de $POST. Je n'arrive pas à réutiliser les données pour faire apparaître les listes déroulantes correspondantes.
Par exemple: si je clique sur entrée et que je valide, deux listes déroulantes apparaissent ==> entrée chaude et entrée froide.

J'aurais besoin de quelques âmes charitables pour me venir en aide :D Merci d'avance!!!!! :)
<form name="myform" method="POST" action="projetinfo.php"> 
		<p> 
		<INPUT type= "radio" name="case" value="case1" id="Entrees" /> <label for="case1">Entrees</label> <br>
		<INPUT type= "radio" name="case" value="case2" id="Plats"/> <label for="case2">Plats</label> <br>
		<INPUT type= "radio" name="case" value="case3" id="Desserts"/> <label for="case3">Desserts</label> <br> 
		<input type = "submit">
		</p>	
	</form>
<?php 

	if (isset($_POST['case'])) 
	{
		if (in_array('Entrees',$_POST['case'])) // Je pense que ma condition a un soucis .... 
		{	  
			echo'
				<form>
				<p>
					<select name="choix">
						<option value="choix1">Bricks de crabe et de langouste au parfum de piment</option> <br>
						<option value="choix2">Tartare de morue et davocat</option> <br>
						<option value : submit>
					</select>
				</p>
				</form>
			
	
				<form>
				<p>
					<select name="choix">
						<option value="choix1">Accras de morue</option>
						<option value="choix2">Pates sales</option>
						<option value : submit>
					</select>
				</p>
				</form>' ;
		}	
	}
else
	{
		echo 'Veuillez cocher une case';
	}


?>>

Mammouth du PHP | 1339 Messages

04 juin 2014, 20:51

Tes radios ne s'appellant pas case[], cela ne retourne pas une array mais juste une valeur ...
Donc ta conditon devrait être if($_POST['case'] == 'Entrees']) { }
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Petit nouveau ! | 7 Messages

04 juin 2014, 21:05

J'ai essayé de passer directement par là sans succès.
J'obtiens une "parse error", apparament de synthaxe ou avec une parenthèse

Mammouth du PHP | 1339 Messages

04 juin 2014, 21:08

J'ai fait trainer un ] en trop apres Entree :

if($_POST['case'] == 'Entrees') { }
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 juin 2014, 21:16

Attention également, tu as inversé les valeurs des attributs id et value de tes cases à cocher ( boutons radio ?? :)).

En l'état, si la première case est cochée, la valeur envoyée sera "case1" (value) et non "Entrees" (id) ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 7 Messages

04 juin 2014, 21:22

Merci merci merci !!! :D :)