PHP formulaire saisie d'email

Résolu/Fermé
saadainese Messages postés 45 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 11 janvier 2013 - 9 mars 2009 à 17:16
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 13 mars 2009 à 15:47
Bonjour,
je voudrais m'assurer que le champs email saisie par un utilisateur a son enregistrement sur mon site dans le formulaire PHP correspant effectivement au format email,

Merci
A voir également:

28 réponses

saadainese Messages postés 45 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 11 janvier 2013 2
12 mars 2009 à 18:18
ou ?
0
saadainese Messages postés 45 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 11 janvier 2013 2
12 mars 2009 à 18:22
je ne sais pas comment faire pour le check box ?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
12 mars 2009 à 18:25
function validation()
{
var flag = false;
var email = document.formulaire_inscription.email.value;
var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
if (verif.exec(email) == null)
{
alert("Votre email est incorrecte");
}
else
flag = true;
}
if (!document.formulaire_inscription.checkbox.checked)
{
alert("il faut cocher !");
flag = flag && false;
}
else
flag = flag && true;
}
return flag; 
}

évidemment, j'ai pas testé, hein !
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
12 mars 2009 à 18:30
y a mieux !!!
0
saadainese Messages postés 45 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 11 janvier 2013 2
12 mars 2009 à 18:37
merci,

ca marche avec des petites modifications de quelque accollades, merci pour ton aide, ca m'a vraiment epargné beaucoup de temps
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
12 mars 2009 à 18:40
you're welcome, bon courage pour la suite !
-;o)
0
saadainese Messages postés 45 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 11 janvier 2013 2
12 mars 2009 à 18:52
je sais pas si vous serrez toujours la pour repondre a des questions, j'aime bien votre maniere d'expliquer, c simple et rapide, est ce que je pourrais vous posez d'autres questions ?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922 > saadainese Messages postés 45 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 11 janvier 2013
12 mars 2009 à 18:59
j'aime bien votre maniere d'expliquer, c simple et rapide
merci du compliment !

est ce que je pourrais vous posez d'autres questions ?
il suffit d'ouvrir un nouveau fil de discussion dans le forum et si tu veux être sûr que je le lise, envoie-moi un MP pour me signaler la discussion.
0
saadainese Messages postés 45 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 11 janvier 2013 2
12 mars 2009 à 19:06
ok ok :)
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
12 mars 2009 à 20:00
Bon je vois que j'arrive après les hostilités mais, en relisant le fil, je m'aperçois que la validation du côté du serveur est passée à la trappe. Pourtant, c'est la plus importante, car un utilisateur un peu bidouilleur, ou simplement qui a désactivé JavaScript (c'est courant sur les postes en entreprises), contourne ça facilement …

La fonction filter_var a été mentionnée, mais ce n'est pas la meilleure solution pour l'instant, car elle ne marche pas sur des versions de Php antérieures à la 5.2.0.

Pour utiliser les regexp sous Php, il y a au moins deux solutions : ereg et preg_match, qui utilisent une syntaxe d'expressions rationnelles différente (respectivement POSIX et PCRE). J'ai tendance à préférer la seconde, je la trouve plus « officielle », mais c'est mon humble avis.
Cela dit, pour une simple vérification de mail, la première est plus facile d'emploi :
<?php
### Test regexp mail ###
$address = strip_tags(@$_POST['address']); // sécurité anti-XSS
?>
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title>Test regexp mail</title>
</head>
<body>
<form action="" method="post">
<p>
	<label for="address">Entrez une adresse e-mail valide :</label>
	<input id="address" name="address" type="text" value="<?php
		echo $address ?>" />
	<input type="submit" />
</p>

<?php if (ereg("^[[:alnum:]_.-]+@[[:alnum:]_.-]+\.[:alpha:]+$", $address))
	echo "<p>L’adresse $address est valide !</p>\n";
else
	echo "<p>Bah non, ça marche pas …</p>\n";
?>

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


Pour alléger l'exemple, j'ai volontairement fait du HTML non valide, j'espère que vous me pardonnerez :P

Petites explications pour la syntaxe POSIX :
^ le caractère de début de chaîne, et $ celui de fin de chaîne : je m'assure que l'utilisateur n'a rien entré d'autre que son adresse ;
[[:alnum:]_.-]+ → je n'autorise que les lettres, chiffres, points, tirets et soulignés
@ → le @ du milieu
\. → le caractère point, échappé avec \ pour qu'il soit traité comme un banal point
et enfin après le point, que des lettres : ça correspond au .com, .fr ou autre.

J'espère que cet exemple servira beaucoup ^^
;)

NB : cf. la référence officielle de Php pour la fonction ereg.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
12 mars 2009 à 20:50
La fonction filter_var a été mentionnée, mais ce n'est pas la meilleure solution pour l'instant, car elle ne marche pas sur des versions de Php antérieures à la 5.2.0.
et tu comptes passer à PHP 5.2 en 2050 ?
la plupart des hébergeurs ont migré, non ?
-;o)

j'ai volontairement fait du HTML non valide, j'espère que vous me pardonnerez
ah là, non !!!
-:oD

+ une ressource pour les RegEx
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
13 mars 2009 à 15:47
-- et tu comptes passer à PHP 5.2 en 2050 ?
la plupart des hébergeurs ont migré, non ? --


Free n’a pas migré, et c’est pour moi la meilleure des raisons ! :P

Même en forçant le rendu par Php5 (en ajoutant l’exension .php5 à mes pages), je ne profite hélas que d’une RC de la version 5.1.3 …
0