Salut!!

Voilà, j'ai un code qui fonctioone en PHP pour vérifier si un champ est rempli ou non:

Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
$msg_erreur = "Erreur! Les champs suivants doivent etre obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande de contact a bien ete prise en compte!<br/>" . "Je vous repondrai des que possible." . "<br/>" . "Redirection en cours...";
$message = $msg_erreur;
 
define('MAIL_DESTINATAIRE','contactyanispc@gmail.com'); // Votre e-mail
define('MAIL_SUJET','Demande de contact');	// L'objet du message
 
// Vérification des champs
if (empty($_POST['Civilite'])) 
$message .= "Votre Civilite<br/>";
 
if (empty($_POST['Prenom'])) 
$message .= "Votre Prenom<br/>";
 
if (empty($_POST['Nom'])) 
$message .= "Votre Nom<br/>";
 
if (empty($_POST['Email'])) 
$message .= "Votre E-Mail<br/>";
 
if (empty($_POST['Msg'])) 
$message .= "Votre Message<br/>";
 
// Si un champ est vide, on affiche le message d'erreur et on stop le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message;
   die();
}
 
// Sinon c'est ok donc on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}
 
// Préparation de l'entête du mail:
$mail_entete  = "MIME-Version: 1.0\r\n";
$mail_entete .= "From:{$_POST['Prenom']}" . " " . "{$_POST['Nom']} " . "<{$_POST['Email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['Email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
 
// préparation du corps du mail
$mail_corps  = "Demande de contact: $Civilite $Prenom $Nom\n";
$mail_corps .= "Téléphone: $Telephone\n\n";
$mail_corps .= "Informations supplementaires: $Msg";
 
// Envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
  // Le mail est bien expédié
  header('Location: ContactValide.html');
 
} else {
  // Le mail n'a pas été expédié
  header('Location: ContactInValide.html');
}
 
?>


Mon problème est le suivant:
Actuellement l'utilisateur clic sur le bouton envoyer d'un formulaire et cela appelle la fonction. Si les champs sont rempli, le formulaire est envoyé. Si un champ ne l'est pas, voilà ce qui ce passe:
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
// Si un champ est vide, on affiche le message d'erreur et on stop le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message;
   die();
}

Avec die(); tout se trop.. Ca fonctionne mais c'est moche et ca oblige l'utilisateur à valider le formulaire avant de voir quel champ doit etre rempli..


J'aimerai savoir qu'elles sont les modifications à apporter a mon code pour pouvoir dire a l'utilisateur que le champ doit être obligatoirement rempli lorsqu'il commence à taper dedans (onkeyup?)


Merci d'avance!


PS: mon code HTML au cas ou:
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<form method="post" action="TraitementMeContacter.php">
	<fieldset>
	<legend>Identité</legend>
	<table>
		<tr>
			<td><label>Civilité: </label></td>
			<td><input type="radio" name="Civilite" value="Mme" required/>Mme     <input type="radio" name="Civilite" value="Mlle" required/>Mlle     <input type="radio" name="Civilite" value="Mr" required/>Mr</td>
		</tr>
 
		<tr>
			<td><label>Nom:</label></td>
			<td><input type="text" name="Nom" size="30"  placeholder="DUPONT" required/></td>
		</tr>
 
		<tr>
			<td><label>Prénom:</label></td>
			<td><input type="text" name="Prenom" size="30" placeholder="Manon" required/></td>
		</tr>
	</table>
	</fieldset>
 
	<br>
 
	<fieldset>
	<legend>Contacts</legend>
	<table>
		<tr>
			<td><label>Adresse E-Mail:</label></td>
			<td><input type="text" name="Email" size="30" placeholder="manon.dupont@gmail.com" required/></td>
		</tr>
 
		<tr>
			<td><label>Téléphone:</label></td>
			<td><input type="text" name="Telephone" size="30" placeholder="06.07.08.09.10"/></td>
		</tr>
	</table>
	</fieldset>
 
	<br>
 
	<fieldset>
	<legend>Message:</legend>
			<textarea name="Msg" rows="5" cols="100" required></textarea>
	</fieldset>
	<p id="buttons">
		<input type="submit" value="Envoyer" />
		<input type="reset" value="Effacer" />
	</p>
</form>


EDIT: déplacé en JS par modo mais ce que j'aimerai c'est bien modifier ma fonction PHP please