PHP formulaire saisie d'email - Page 2
Résolu
Précédent
- 1
- 2
-
-
-
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 !
-
y a mieux là !!!
-
-
merci,
ca marche avec des petites modifications de quelque accollades, merci pour ton aide, ca m'a vraiment epargné beaucoup de temps -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
you're welcome, bon courage pour la suite !
-;o)
-
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 ?
- 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.
-
-
-
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.-
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
-
-
-- 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 …
Précédent
- 1
- 2