8797 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai besoin de votre aide, j'ai un formulaire qui fonctionne correctement. Lorsqu'un champ est vide un message d'erreur s'affiche. Je voudrai qu'après cette erreur, ce que l'utilisateur a déjà saisi, ce réaffiche pour ne pas qu'il est besoin de tout ressaisir .. Comment faire svp ?

Voici mon code :


<form method="post" action="">
				<tr><td><label>Travaux</label> : </td><td>
				
				<select name="travaux" id="travaux" style=" width:200px;">
					<option value="">Sélectionner</option>
					<option value="BAR-EN-01">BAR-EN-01 - Isolation combles ou toitures</option>
					<option value="BAR-EN-02">BAR-EN-02 - Isolation des murs</option>
					<option value="BAR-EN-03">BAR-EN-03 - Isolation plancher</option>
					<option value="BAR-EN-04">BAR-EN-04 - Fenêtre ou porte fenêtre vitrage isolant</option>
					<option value="BAR-TH-06">BAR-TH-06 - Chaudière type condensation</option>
					<option value="BAR-TH-08">BAR-TH-08 - Chaudière basse température</option>
					<option value="BAR-TH-03">BAR-TH-03 - PAC eau/eau</option>
					<option value="BAR-TH-29">BAR-TH-29 - PAC air/air</option>
					<option value="BAR-TH-04">BAR-TH-04 - PAC air/eau</option>
					<option value="BAR-TH-12">BAR-TH-12 - Appareil indépendant de chauffage au bois</option>
					<option value="BAR-TH-13">BAR-TH-13 - Chaudière biomasse individuelle</option>
				</select>
				<script type="text/javascript">
				$("#travaux").change(function(){ 
				
					$.ajax({
					  type: "POST",
					  url: "get_remu.php",
					  data: { idInstallateur: "<?php echo $idInstallateur; ?>", bar: $("#travaux").val() }
					}).done(function( msg ) {
					  $("#montantCertif").html(msg);
					  $("#montantCertif2").val(msg);
					 
					});
				});
				</script>
				</td><tr>
				<tr><td><label>Montant du certificat</label> : </td><td><div id="montantCertif"></div><input type="hidden" name="montantCertif2" id="montantCertif2"/></td><tr>
				<tr><td><label>Nom</label> : </td><td><input type="text" name="nomBeneficiaire" /></td><tr>
				<tr><td><label>Prénom</label> : </td><td><input type="text" name="prenomBeneficiaire" /></td></tr>
				<tr><td><label>Adresse</label> : </td><td><input type="text" name="adresseBeneficiaire" placeholder="Ex : 50 Grande rue" size="30"/></td><tr>
				<tr><td><label>Code Postal</label> : </td><td><input type="text" name="codePostal" /></td><tr>
				<tr><td><label>Ville</label> : </td><td><input type="text" name="ville" /></td><tr>
				<tr><td><label>Email</label> : </td><td><input type="text" name="mailBeneficiaire" /></td><tr>
				<tr><td><label>Téléphone</label> : </td><td><input type="text" name="telBeneficiaire" /></td><tr>
				<tr><td><b style="color:red;">Ne pas compléter l'adresse du chantier, si celle-ci est identique à votre adresse personnelle</b></td><td>
				<tr><td><label>Adresse du chantier</label> : </td><td><input type="text" name="adresseTravaux" placeholder="Ex : 50 Grande rue" size="30"/></td><tr>
				<tr><td><label>Code Postal du chantier</label> : </td><td><input type="text" name="cpTravaux" /></td><tr>
				<tr><td><label>Ville du chantier</label> : </td><td><input type="text" name="villeTravaux" /></td><tr>
				<tr><td><b>Vous habitez : </b></td><br/>
				<td><input type="radio" name="maisonAppart" value="maison" id="maisonAppart" /> <label for="maison">une maison</label><br/>
				<input type="radio" name="maisonAppart" value="appartement" id="maisonAppart" /> <label for="appart">un appartement</label></td></tr>
				<tr><td><label>Surface</label> : </td><td><input type="text" name="surfaceHabitable" /> m²</td><tr><br/>
				<tr><td><label>Année de construction du logement<br/>(le logement doit impérativement avoir plus de 2 ans)</label> : </td><td><input type="text" name="constructionLogement"/></td></tr>
				<tr><td><b>Énergie : </b></td><br/>
				<td><input type="radio" name="energie" value="combustible" id="combustible" /> <label for="combustible">Combustible</label><br/>
				<input type="radio" name="energie" value="electrique" id="electrique" /> <label for="electrique">Électrique</label></td></tr>
				<tr>
					<td><b>Date du cachet de la poste </b>(<b style="color:red;">Attention : Champ réservé à l'administration, ne pas remplir !</b>)</td>
					<td><input type="date" name="dateCachetPoste"/></td>
				</tr>
				<tr><td><input type="submit" value="Valider" class="buttonValider" name="buttonValider" onclick="redirection()" colspan="2"/></td></tr>
			</form>
		</table>
		<?php 
	if(isset($_POST["buttonValider"])){
		if(!empty($_POST['nomBeneficiaire']) && !empty($_POST['prenomBeneficiaire']) && !empty($_POST['adresseBeneficiaire']) && !empty($_POST['telBeneficiaire']) && !empty($_POST['mailBeneficiaire']) && !empty($_POST['travaux']) && !empty($_POST['codePostal']) && !empty($_POST['ville']) && !empty($_POST['maisonAppart']) && !empty($_POST['surfaceHabitable']) && !empty($_POST['constructionLogement']) && !empty($_POST['energie'])){

		$nomBeneficiaire=$_POST["nomBeneficiaire"]; 
		$prenomBeneficiaire=$_POST["prenomBeneficiaire"]; 
		$adresseBeneficiaire=$_POST['adresseBeneficiaire'];
		$telBeneficiaire=$_POST['telBeneficiaire'];
		$constructionMaison=$_POST['constructionMaison'];
		$mailBeneficiaire=$_POST['mailBeneficiaire'];
		$travaux=$_POST['travaux'];
		$codePostal=$_POST['codePostal'];
		$ville=$_POST['ville'];
		if(!empty($_POST['adresseTravaux']) &&  !empty($_POST['cpTravaux']) && !empty($_POST['villeTravaux'])){
			$adresseTravaux=$_POST['adresseTravaux'] . "}}}}{{{{" . $_POST['cpTravaux'] . "}}}}{{{{" . $_POST['villeTravaux'];
		}
		else{
			$adresseTravaux = "oui";
		}
		$maisonAppart=$_POST['maisonAppart'];
		$surfaceHabitable=$_POST['surfaceHabitable'];
		$constructionLogement=$_POST['constructionLogement'];
		$montantCertif2=$_POST['montantCertif2'];
		$energie=$_POST['energie'];
		$dateCachetPoste=$_POST['dateCachetPoste'];

		$MonSql="INSERT INTO pass_beneficiaire VALUES('','$nomBeneficiaire','$prenomBeneficiaire','$adresseBeneficiaire','$telBeneficiaire','01-01-$constructionLogement','$mailBeneficiaire','". date("Y-m-d H:i:s") ."','$travaux','$codePostal','$ville','$adresseTravaux','$maisonAppart','$surfaceHabitable','01-01-$constructionLogement','$montantCertif2','$energie','$dateCachetPoste')";	
		
		mysql_query($MonSql) or die (mysql_error()); 
		
		$newId = mysql_insert_id();
		$autoIncrement=mysql_query("ALTER TABLE pass_pass AUTO_INCREMENT = 100000");
		$MonSql2="INSERT INTO pass_pass VALUES('','". $infosMembre['id'] ."','','". date("Y-m-d H:i:s") ."','','1','$newId')" or die (mysql_error());	
		
		mysql_query($MonSql2) or die (mysql_error()); 
		
		$newPass = mysql_insert_id();
		
		$MonSql3="INSERT INTO pass_etape VALUES('','1','$newPass','". $infosMembre['id'] ."','". date('Y-m-d H:i:s') ."','','','')" or die (mysql_error());	

		mysql_query($MonSql3) or die (mysql_error()); 
?>
<script language="javascript" type="text/javascript">
				
					 window.location.replace(""); 
					
</script>
<?php
	}else{
?>
<script language="javascript" type="text/javascript">
				
					alert("Vous n'avez pas renseigné tous les champs !"); 
					
</script>
<?php
	}
}
?>
		</div>
<option value="la_valeur1" <?php if($ma_var == "la_valeur1") echo "selected='selected'"; ?>>Champ1</option>
<option value="la_valeur2" <?php if($ma_var == "la_valeur2") echo "selected='selected'"; ?>>Champ2</option>


Même raisonnement pour radio etc....
Bizarre pour mes boutons de radio, ça ne fonctionne pas .. et pour le champ montant certif également car il s'affiche avec du javascript .. :S
J'ai dis "même raisonnement" et non pas "même syntaxe"...

Je vais pas non plus te mâcher le boulo... mais bon... un petit indice : pour un radio, c'est l'attribut "checked" et non "selected" qu'il faut ajouter Smiley cligne