[RESOLU] Besoin d'aide pour un petit formulaire

Petit nouveau ! | 2 Messages

07 déc. 2013, 04:37

Bonjour,
J ai trouvé sur un site comment insérer un simple formulaire et ça me va très bien :
http://wiki.lws-hosting.com/doku.php/do ... qKCKuK9ZYI
(Exemple 2 : Formulaire de contact simple.)
j'aimerais cependant ajouter une option de champs obligatoire sur le nom, le mail et le commentaire mais là je suis perdu !
j'ai beau chercher sur les forums des solutions mais je ne comprends pas le langage php ( je suis un vrai newbie, je comprend très sommairement le html et le css)
Pouvez vous m'aider à compléter ce code pour rendre les champs obligatoire SVP ??? (j'aimerais un truc simple genre les zones de textes qui passe en rouge quand on click sur envoyer si il n'y a rien dedans par exemple, pas plus)
D'avance MERCI !!!!

Eléphanteau du PHP | 46 Messages

07 déc. 2013, 09:08

Bonjour,

tu as deux moyens de vérifier un formulaire:
- avant envoi par le poste client , en javascript
- après envoi, par le serveur en php. Dans ce cas, si les informations sont incorrectes, tu fais une redirection vers le formulaire et réinsérant les données saises par l'utilisateur dans les champs du formulaire.

La seconde méthode est plus sécurisée car en ce qui concerne le première le javascript peut être désactivé sur le poste client.
Perso, je fais souvent les deux comme çà j'ai à la fois les avantages du javascript et la securité du php.

Voici l'implémentation concernant le javascript en ce qui concerne ton exemple:

Code : Tout sélectionner

<html> <head> <title>Test de vérification de formulaire</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <div align="center"> <form method="POST" action="formmail2.php" name="formulaire" onSubmit="return check();" > <input type="hidden" name="subject" value="formmail" /> <table> <tr> <td>Votre Nom:</td> <td><input type="text" name="realname" size="30" onKeyUp="javascript:couleur(this);" /></td> </tr> <tr> <td>Votre Email:</td> <td><input type="text" name="email" size="30" onKeyUp="javascript:couleur(this);" /></td> </tr> <tr> <td>Sujet:</td> <td><input type="text" name="title" size="30" /></td> </tr> <tr> <td colspan=2>Commentaires:<br /> <textarea COLS="50" ROWS="6" name="comments" onKeyUp="javascript:couleur(this);"></textarea> </td> </tr> </table> <br/><input type="submit" value="Envoyer" /> - <input type="reset" value="Annuler" /> </form> </div> </body> </html> <script type="text/javascript"> function couleur(obj) { obj.style.backgroundColor = "#FFFFFF"; } function check() { var msg = ""; //Vérification du mail s'il n'est pas vide on vérifie le . et @ if (document.formulaire.email.value != "") { indexAroba = document.formulaire.email.value.indexOf('@'); indexPoint = document.formulaire.email.value.indexOf('.'); if ((indexAroba < 0) || (indexPoint < 0)) { document.formulaire.email.style.backgroundColor = "#F3C200"; msg += "Le mail est incorrect\n"; } } else { document.formulaire.email.style.backgroundColor = "#F3C200"; msg += "Veuillez saisir votre mail.\n"; } //verification du nom if (document.formulaire.realname.value == "") { msg += "Veuillez saisir votre nom\n"; document.formulaire.realname.style.backgroundColor = "#F3C200"; } //idem champ commentaire if (document.formulaire.comments.value == "") { msg += "Veuillez saisir un commentaire\n"; document.formulaire.comments.style.backgroundColor = "#F3C200"; } if (msg == "") { return(true); } else { alert(msg); return(false); } } </script>

Petit nouveau ! | 2 Messages

08 déc. 2013, 04:20

WAOUUUUUU !!!!!!
Un grand merci à toi !!!! ca marche d'enfer ! c'est tout à fait ce que je voulais en mieux lol !!!
ce n'est pas très compliqué à comprendre en plus (même si des choses m'échappent je capte le principe) ! c'est top !!!
MERCI !