begin process at 2012 05 31 19:27:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

vérification mail dans un formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

vérification mail dans un formulaire

jeudi 15 octobre 2009 à 10:27:28 | vérification mail dans un formulaire

veston

Bonjour à tous.

Je viens faire appel à vous car je suis bloqué sur un code...

J'essaye de créer un formulaire avec une vérification d'email en temps réel, du genre : http://livevalidation.com/examples#exampleEmail

J'ai donc créer un petit script en php, avec une fonction de vérification d'e-mail, mais le souci...c'est que cette vérification d'e mail ne fonctionne pas.

A noter que je suis sous wampserver pour tester ce code PHP (donc, en localhost).

Voici mon code :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script>function verifMail(mail)
{
var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
if(!regex.test(mail.value))
{
surligne(mail, true);
return false;
}
else
{
surligne(mail, false);
return true;
}
}
</script>
</head>
<body>
<form action="http://localhost/test/test_mail.php" method="post">
<fieldset>
<legend>Formulaires</legend>

<p>Veuillez introduire votre e-mail</p>
<p>

</p>

<form method="post">
<p>
<tr>
<td><label for="mail">Adresse e-mail : </label></td>
<td><input type="text" id="mail" name="mail" onblur="javascript:verifmail(this.value)"></input></td>
<td id="mail_valid"> </td>
</tr>

</p>
</form>

<p>Veuillez introduire votre nom </p>
<input name="Nom" type="text" size="40" maxlength="100">

<p>Veuillez introduire votre prénom</p>
<input name="Prenom" type="text" size="40" maxlength="100">

<p>Veuillez écrire votre message</p>
<textarea name="message" rows="3" cols="30"></textarea>

<input value="Envoyer" type="submit">
<input name="Effacer" value="Rafraîchir" type="reset">

</fieldset>

</form>

</body>

</html>



Pourriez vous me dire ce ne va pas dans ce code, et comment l'améliorer ?

Merci d'avance

(Et pour ceux qui me répondraient : google est ton ami, j'ai déjà cherché sur google, et c'est de là que je suis tombé sur ce forum, et je ne trouve pas mon erreur, même en faisant des recherches google).
jeudi 15 octobre 2009 à 13:10:24 | Re : vérification mail dans un formulaire

syndrael

Ton blur te renvoie True ou False et ensuite ?? Ou est ta fonction SurLigne ??
S.
jeudi 15 octobre 2009 à 15:08:51 | Re : vérification mail dans un formulaire

veston

Merci pour cette réponse^^.

Bon, maintenant, j'ai changé de code, avec une petite fonction javascript, qui indique que l'adresse e-mail est ok ou pas, avec une regex pour indiquer si c'est bon ou pas.

Voici le code en question :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" language="javascript">
function verifMail(mail)
{
///^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/
var regex = /^[a-zA-Z0-9._-]+[@a-z0-9._-]{2,}\.[a-z]{2,4}$/;
if(!regex.test(mail.value))
{
alert('pas bon');
//surligne(mail, true);
return false;
}
else
{
alert('ok');
//surligne(mail, false);
return true;
}
}
</script>
</head>
<body>
<form action="http://localhost/test/test_mail.php" method="post">
<fieldset>
<legend>Formulaires</legend>

<p>Veuillez introduire votre e-mail</p>
<p>

</p>

<form method="post">
<p>
<tr>
<td><label for="mail">Adresse e-mail : </label></td>
<td><input type="text" id="mail" name="mail" onblur="javascript:verifMail(this.value)"></input></td>
<td id="mail_valid"> </td>
</tr>

</p>
</form>

<p>Veuillez introduire votre nom </p>
<input name="Nom" type="text" size="40" maxlength="100">

<p>Veuillez introduire votre prénom</p>
<input name="Prenom" type="text" size="40" maxlength="100">

<p>Veuillez écrire votre message</p>
<textarea name="message" rows="3" cols="30"></textarea>

<input value="Envoyer" type="submit">
<input name="Effacer" value="Rafraîchir" type="reset">

</fieldset>

</form>

</body>

</html>

Le problème est que j'ai beau ne pas faire d'erreur dans mon e mail, ce code m'indique toujours que ce n'est "pas bon"...j'ai pensé à une erreur de regex, mais où ? (car moi, je n'en vois pas...???).

Merci de vos réponses
jeudi 15 octobre 2009 à 16:06:14 | Re : vérification mail dans un formulaire

veston

J'ai enfin trouvé pourquoi est ce que celà ne marchait pas ; en fait, il fallait mettre :

function verifMail()

ou lieu de function verifMail(mail).

Bon allez, la prochaine étape : la vérification en temps réel (au moment où l'on tape), si quelqu'un a déjà une idée du code ?

jeudi 15 octobre 2009 à 21:36:04 | Re : vérification mail dans un formulaire

syndrael

Cherche du coté du onkeyup, mais je t'avoue qu'au niveau ergonomie tu peux très bien faire la vérification après la saisie ou sur un onblur.

Pour la vérification j'utilise:
function verif(email) { // vérif validité email par REGEXP
var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
return (reg.exec(email)!=null)
}

S.
vendredi 16 octobre 2009 à 11:24:27 | Re : vérification mail dans un formulaire

veston

Merci beaucoup pour cette réponse, mais celà ne fonctionne pas chez moi...

En fait, maintenant, je cherche à créer un script permettant de vérifier l'adresse e mail en temps réel, comme c'est le cas pour cet exemple :

http://livevalidation.com/examples#exampleEmail

Et donc, je me demande quelle fonction utiliser pour faire en sorte que l'adresse e mail soit vérifiée en temps réel, et comment l'appliquer à monj code ?

D'avance merci,

Veston
vendredi 16 octobre 2009 à 16:17:46 | Re : vérification mail dans un formulaire

veston

Re

Bon, j'ai modifié mon code pour que les alertes des champs vides s'affichent tous en même temps, avec une couleur jaune sur les champs vides pour attirer l'attention.

Le code en question :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Test de vérification de formulaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">



<script language="JavaScript">
function couleur(obj) {
obj.style.backgroundColor = "#FFFFFF";
}

function check() {
var msg = "";

if (document.formulaire.mail.value != "") {
indexAroba = document.formulaire.mail.value.indexOf('@');
indexPoint = document.formulaire.mail.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0)) {
document.formulaire.mail.style.backgroundColor = "#F3C200";
msg += "Le mail est incorrect\n";
}
}
else {
document.formulaire.mail.style.backgroundColor = "#F3C200";
msg += "Veuillez saisir votre mail.\n";
}

if (document.formulaire.nom.value == "") {
msg += "Veuillez saisir votre nom\n";
document.formulaire.nom.style.backgroundColor = "#F3C200";
}

if (document.formulaire.prenom.value == "") {
msg += "Veuillez saisir votre prenom\n";
document.formulaire.prenom.style.backgroundColor = "#F3C200";
}

if (document.formulaire.message.value == "") {
msg += "Veuillez saisir votre message\n";
document.formulaire.message.style.backgroundColor = "#F3C200";
}

if (msg == "") return(true);
else {
alert(msg);
return(false);
}
}
</script>


</head>

<body>
<!--
Nous appelons donc notre future fonction à la soumission du formulaire qui va je le rapelle vérifier nos champs
-->
<form action="page.html" method="post" enctype="application/x-www-form-urlencoded" name="formulaire" onSubmit="return check();">

<!--
sur chaqu'un des champs nous appelons la fonction qui va rétablir la couleur initiale
-->
Nom : <input name="nom" type="text" onKeyUp="javascript:couleur(this);"><br>
Prenom : <input name="prenom" type="text" onKeyUp="javascript:couleur(this);"><br>
Mail : <input name="mail" type="text" onKeyUp="javascript:couleur(this);" ><br>
Message : <textarea name="message" type="test" onKeyUp="javascript:couleur(this);"></textarea><br>

<input type="submit" name="Submit" value="Envoyer">


<input name="Effacer" value="Rafraîchir" type="reset">

</form>
</body>
</html>

Maintenant, mon souci est que je voudrai avoir les alertes directement en face des champs concernés lorsque je clique sur "envoyer" (et non en "temps réel" comme je l'avais suggéré depuis le début, trop la "galère" pour un internaute de s'en sortir si dès le début on lui dit que son adresse mail n'est pas valide alors qu'il n'a pas fini de la taper...).

Quelqu'un a-t-il déjà une idée du code ?

D'avance merci,

Veston
samedi 17 octobre 2009 à 15:55:36 | Re : vérification mail dans un formulaire

syndrael

Renseigne toi auprès de nos amis du forum Javascript, tu es dans celui du PHP.
S.


Cette discussion est classée dans : mail, code, formulaire, vérification, introduire


Répondre à ce message

Sujets en rapport avec ce message

Probleme formulaire [ par DaFtOu ] bonjour j'ai fait un formulaire qui m'envoye un e-mail quand il est remplimais j'ai un probleme avec, il m'envoye un e-mail a chaque fois que quelqu'u Formulaire mail ... [ par stolken ] Salut tt le monde, J'ai fait un formulaire contenant plusieurs champ que j'aimerai voir arriver dans ma boite mail, seulement il fallait s'en douter l fonction mail avec php [ par cyrilherve ] salut à tous,je m'initie à l'utilisation de la fonction mail avec php. j'ai pris au hasard un script d'envoi d'e-mail dans un tutoriel d'apprentissage Confirmation d'envoi du formulaire [ par a44icus ] Bonjour, J'ai un formulaire sur mon site, et je souhaiterais qu'une fois que la personne ai cliqué sur le bouton "envoyer", qu'un texte du genre "Vot Envois E-Mail php [ par GoGaule ] Bonsoir. [code=php] <?php $msg = "Nom:\t$nom\n"; $msg .= "Prenom:\t$prenom\n"; $msg .= "Adresse:\t$adresse\n"; $msg .= "Ad Récupérer données de FORMULAIRE dans MAIL [ par fidecourt ] bonjour à tous, un souci dans la récupération des données d'un formulaire dans un mail via une page "contactmail.php", qui fait appel à une page "cry problème avec formulaire php [ par snakeissat ] Salut, je débute avec php, j'ai essayé de faire un petit formulaire en html pour une page de contact qui envoi le nom et le prenom et le message à mon envoyer le contenu du formulaire vers un mail [ par hamzvb ] bonjour; je suis en train de créer un site web et j'ai un formulaire de contact que je veux que son contenu sera envoyé à mon adresse mail au fur et a Verification de validité du format email dans un formulaire [ par carbonaro09 ] Bonjour a tous Je viens d'essayer d'implémenter un petit morceau de code pour vérifier la validité des adresses mail remplies dans mon formulaire de formulaire php [ par ainfographie ] Bonjour à tous, je viens vers vous car je désespère. J'ai créé un formulaire de contact, pour mon site, j'aimerais recevoir les infos dans ma boîte ma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales