Page 1 sur 1

Petits soucis avec les boutons, checkbox et le refresh

Posté : 30 sept. 2012, 01:49
par Jay Gr
Bonsoir,

Bon, pour ceux qui aurait vu mon sujet précédent, je peux dire : ENFIN !
Bref, j'ai commencer à développer un peu en PHP.
Mais je rencontre un léger soucis.
Dans le cadre d'un TP, le prof nous demande de faire un formulaire d'inscription et de renvoyer les résultats avec du PHP. Le seul truc qui me bloque, c'est que lorsque je clique pour valider mon inscription, je vois que mes valeurs de checkbox disparaissent, celle de mon menu déroulant aussi, et celle de mes boutons radios aussi.

Première question : Comment récupérer correctement la valeur d'une checkbox pour afficher une résultat en fonction de coché ou pas coché ?

Seconde question : Comment puis-je, lorsque je valide le formulaire et l'envoi, garder sur ma page les boutons enclenché et le menu déroulant là où je l'ai sélectionné ?

Dernière question : Je n'arrive pas à mettre du style.css dans mes pages. La page que vous allez voir est appelé dans l'index, quand je modifie ou même que je recréé un lien vers une page de style dans la page qui suit, rien ne change, mauvaise manip ou un truc que je ne connais pas ?

Mon code : Je vous demande d'être indulgent je ne connais le php que depuis deux semaines !
<?php
if (isset($_POST["Action"]))
{
	$bouton=$_POST["Action"];
	
	switch($bouton)
		{
			case"S'enregistrer":
				$sexe=$_POST["Sexe"];
				$formation=$_POST["Formation"];
				$nom=$_POST["Nom"];
				$prenom=$_POST["Prénom"];
				$email=$_POST["Email"];
				//$contact=$_POST["Contact"];
				/*	
					switch ($contact)
						{
							case "checked":
							$contact="Vous souhaitez être contacter.";
							break;
				
							case "pas checked":
							$contact="L'administrateur ne vous contactera pas";
							break;
						}
				*/
				$renvoi="<br/> <u>Sexe :</u> <i>$sexe</i><br/> <u>Formation :</u> <i>$formation</i><br/> <u>Nom :</u> <i>$nom</i><br/> <u>Prénom :</u> <i>$prenom</i><br/> <u>Email :</u> 
				<i>$email</i><br/> <u>Contact :</u> <i></i>";
				break;
			
			case"Remise à zéro du formulaire":
				$renvoi="";
				$formation="";
				$nom="";
				$prenom="";
				$email="";
				break;
		}
		
	
	
}

else
{
	$formation="";
	$nom="";
	$prenom="";
	$renvoi="";
	$email="";

}

?>
<form action="index.php?menu=2" method="POST">
	<br/>
		
		<fieldset>
		<legend> Sexe </legend>
		<br/>
			<input type="radio" name="Sexe"  value="Homme" > <label for="Sexe">Homme</label> 
			<input type="radio" name="Sexe" value="Femme"> <label for="Sexe">Femme</label>  <br/>
		<br/>
		</fieldset>
		<br/>
		<fieldset>
		<legend> Formation </legend>
		<br/>
			<TR>
				<TD>
					<SELECT name="Formation">
						<OPTION VALUE="Aucune formation ou autre">--Aucune formation ou autre--</OPTION>
						<OPTION VALUE="Réseaux & Télécommunications">Réseaux & Télécommunications</OPTION>
						<OPTION VALUE="Information Communication">Information Communication</OPTION>
						<OPTION VALUE="Génie Biologique">Génie Biologique</OPTION>
						<OPTION VALUE="Gestion Entreprise et Administration">Gestion Entreprise et Administration</OPTION>
						<OPTION VALUE="Licence de Droit">Licence de Droit</OPTION>
						<OPTION VALUE="Licence de Langues Etrangères Appliquées">Licence de Langues Etrangères Appliquées</OPTION>
						<OPTION VALUE="Licence de Droit et Langues">Licence de Droit et Langues</OPTION>
					</SELECT>
				</TD>
			</TR>
			<br/><br/>
		</fieldset>
		<br/>
		
		<fieldset>
			<legend>Indiquez vos coordonnées</legend>
			<br/>
			<label for="Nom">Nom : </label>
			<input name="Nom" type="text" value="[php]<?php echo("$nom");?>[/php]" placeholder="Entrez votre nom" required> <br/>
			<label for="Prénom">Prénom : </label>
			<input name="Prénom" type="text" value="[php]<?php echo("$prenom");?>[/php]" placeholder="Entrez votre prénom" required> <br/>
			<label for="Email">Email : </label>
			<input name="Email" type="email" value="[php]<?php echo("$email");?>[/php]" placeholder="[email protected]" required> <br/><br/>
			<input name="Contact" type="checkbox" value="Contact">  Je souhaite être contacté par l'administrateur.<br/>
			<br/>
		</fieldset>
		<br/>
			
		<input type="submit" name="Action" value="S'enregistrer">
		<input type="submit" name="Action" value="Remise à zéro du formulaire">
		
		<fieldset>
		<legend>Récapitulatif de l'inscription</legend>
			<br/>
			[php]<?php echo("$renvoi"); ?>[/php]
		</fieldset>
	</form>
	</body>
</html>
Je sais que certaines de ces questions ont déjà été posés, malheureusement je n'arrive pas forcément à appliquer les corrections ou réponses à mon cas.

++

Jay'

Re: Petits soucis avec les boutons, checkbox et le refresh

Posté : 30 sept. 2012, 08:57
par sirakawa
Bjr,
I Si tu débutes, pour répondre à la question du prof, il serait plus simple de faire deux fichiers:
un pour la saisie des renseignements en pur HTML: au passage, la norme actuelle met toutes les balises en minuscules, écrivant : <input ..... espace /> , <br espace />. required me plait beaucoup mais est-il reconnu de IE et sa syntaxe est required='required',
ce n'est pas "submit" mais "reset" pour la remise à zéro du formulaire. Mettre des
<button type="submit" name="Action" value="1">S'enregistrer</button>
<button type="submit" name="Action" value="0">Remettre à zéro</button>
à la place des input soulagerait les tests (test sur un nombre et non sur une chaîne de caractères qui, de plus contient des accents)
idem pour les options
<option value = "0">Aucune formation ou autre--</option>

un pour le traitement en PHP.
Après, il ya moyen de faire ce que tu veux en un seul fichier à partir de ci-dessous et sans avoir besoin de ton ? menu=2. Ce seront les isset() qui se chargeront du boulot
II Sinon la réponse à ta question est du genre (tester dans un fichier à part)
<?php

print_r($_POST);
$formation_choisie = isset ($_POST['Formation']) ? $_POST['Formation']: 0;
$nb_choix =8;
$valeurs_formations = array("Aucune formation ou autre", "Réseaux & Télécommunications", "Information Communication",
"Génie Biologique", "Gestion Entreprise et Administration", "Licence de Droit", "Licence de Langues Etrangères Appliquées",
"Licence de Droit et Langues");
$selecteur ="<select name='Formation'>";
for ($i = 0; $i < $nb_choix; $i++)
{
	$choix_possible = $valeurs_formations[$i];
	$selected = ($i == $formation_choisie) ? "selected = 'selected'" : "";	
	$selecteur .="<option value ='$i' $selected>$choix_possible</option>"; 
}
$selecteur .= "</select>";
print "$selecteur";
?>