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','[email protected]'); // 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="[email protected]" 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![]()
Partager