Se connecter avec
S'enregistrer | Connectez-vous

vérifier un e-mail

Dernière réponse : dans Programmation

Bonjour à tous,

J'ai une newsletter, mais un petit détail me chagrine : elle ne vérifie pas les e-mails. J'aimerais mettre une fonction pour vérifier les e-mails, et en avertir par une petite fenêtre.

Voici le script qui permet lui di d'enregistrer l'adresse et de vérifier si l'adresse est déjà ou pas dans la base.

Code:
  1. <?php
  2. if(mysql_num_rows(mysql_query("SELECT Email FROM newsletter WHERE Email='$_POST[email]'"))) {
  3.  
  4. echo "<center><br>Votre adresse e-mail est deja inscrite à la newsletter des Jeunes Sapeurs Pompiers de Givry! (<b>$_POST[email]</b>)</center>" ;
  5.  
  6.  
  7. echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
  8. exit();
  9. }
  10.  
  11. mysql_query("INSERT INTO newsletter VALUES ('','$_POST[email]')") or die ('Erreur SQL !<br>'.mysql_error());
  12.  
  13. mail_inscription();
  14. echo "Votre inscription à la newsletter du site Internet des Jeunes Sapeurs Pompiers de Givry a été réussie.
  15. Merci pour votre inscription! Vous receverez dès maintenant, les news du site.<center>Votre adresse e-mail est <b>$_POST[email]</b></center>";
  16.  
  17.  
  18. echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
  19. break;
  20. ?>


Merci d'avance,

Autres pages sur : verifier mail

Lassé par la pub ? Créez un compte

j'ai essayer ce code là :

  1. function verif_email($email) {
  2. $chars = "/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i";
  3. if(strstr($user_email, '@') && strstr($user_email, '.')) {
  4. if (preg_match($chars, $user_email)) {
  5. return true;
  6. } else {
  7. return false;
  8. }
  9. } else {
  10. return false;
  11. }
  12. }


Le truc avec celle là c'est que ça ne fonctionne pas!

Pour ce qui est de la fonction regexp, j'avais pas de mis de balise javascript avant et après; donc le code ne marchait pas, et après j'ai mis les balises, et là ça m'avait foutu en l'air tout le reste du code.

Tu as essayer ca :
  1. function validation()
  2. {
  3. var email = document.formulaire.EMAIL.value;
  4. var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
  5. if (verif.exec(email) == null)
  6. {
  7. alert("Votre email est incorrecte");
  8. return false;
  9. }
  10. else
  11. {
  12. alert("Votre email est correcte");
  13. return true;
  14. }
  15. }


source : ici

Bizarre il me dit qu'il y a une erreur de code....

  1. case 3;
  2. function validation()
  3. {var email = document.formulaire.EMAIL.value;
  4. var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
  5. if (verif.exec(email) == null)
  6. {
  7. alert("Votre email est incorrecte" );
  8. return false;
  9. }
  10. else
  11. {
  12. alert("Votre email est correcte" );
  13. return true;
  14. }
  15. }
  16.  
  17. if(mysql_num_rows(mysql_query("SELECT Email FROM newsletter WHERE Email='$_POST[email]'"))) {
  18.  
  19. echo "<center><br>Votre adresse e-mail est deja inscrite à la newsletter des Jeunes Sapeurs Pompiers de Givry! (<b>$_POST[email]</b>)</center>" ;
  20.  
  21.  
  22. echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
  23. exit();
  24. }
  25.  
  26. mysql_query("INSERT INTO newsletter VALUES ('','$_POST[email]')") or die ('Erreur SQL !<br>'.mysql_error());
  27.  
  28. mail_inscription();
  29. echo "Votre inscription à la newsletter du site Internet des Jeunes Sapeurs Pompiers de Givry a été réussie.
  30. Merci pour votre inscription! Vous receverez dès maintenant, les news du site.<center>Votre adresse e-mail est <b>$_POST[email]</b></center>";
  31.  
  32.  
  33. echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
  34. break;

*
Voici le code que j'ai (enfait c'est une page php, avec 4 case et qui va à un formulaire chacune.)

Boulet. c'est du javascript. Si tu le met dans les balise php, c'est sur que ca va pas aller.
Regarde le lien que j'ai mis pour avoir un exemple.

ps : Quand je dis 'boulet', c'est pas méchant. c'est juste que c'est une erreur de débutant, et aussi que tu n'a pas dû regarder le lien.

j'ai trouvé un code php, voici le tout, mais ça ne marche toujours pa.....

  1. case 3;
  2.  
  3. function valid_email($email) {
  4. // First, we check that there's one @ symbol, and that the lengths are right
  5. if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
  6. // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
  7. return false;
  8. }
  9. // Split it into sections to make life easier
  10. $email_array = explode("@", $email);
  11. $local_array = explode(".", $email_array[0]);
  12. for ($i = 0; $i < sizeof($local_array); $i++) {
  13. if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
  14. return false;
  15. }
  16. }
  17. if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
  18. $domain_array = explode(".", $email_array[1]);
  19. if (sizeof($domain_array) < 2) {
  20. return false; // Not enough parts to domain
  21. }
  22. for ($i = 0; $i < sizeof($domain_array); $i++) {
  23. if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
  24. return false;
  25. }
  26. }
  27. }
  28. return true;
  29. }
  30.  
  31. if(mysql_num_rows(mysql_query("SELECT Email FROM newsletter WHERE Email='$_POST[email]'"))) {
  32.  
  33. echo "<center><br>Votre adresse e-mail est deja inscrite à la newsletter des Jeunes Sapeurs Pompiers de Givry! (<b>$_POST[email]</b>)</center>" ;
  34.  
  35.  
  36. echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
  37. exit();
  38. }
  39.  
  40. mysql_query("INSERT INTO newsletter VALUES ('','$_POST[email]')") or die ('Erreur SQL !<br>'.mysql_error());
  41.  
  42. mail_inscription();
  43. echo "Votre inscription à la newsletter du site Internet des Jeunes Sapeurs Pompiers de Givry a été réussie.
  44. Merci pour votre inscription! Vous receverez dès maintenant, les news du site.<center>Votre adresse e-mail est <b>$_POST[email]</b></center>";
  45.  
  46.  
  47. echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
  48. break;
Expert Programmation

kikong a dit :
j'ai trouvé un code php, voici le tout, mais ça ne marche toujours pa.....

  1. plein de code dégueulasse


J'ai pas pris le temps de lire ton truc, mais rien que la première ligne "case 3;" faut mettre un :
Ensuite une fonction, faut l'appeler pour l'utiliser.

'fin bref, apprend le PHP avant je pense...

OmaR a dit :
J'ai pas pris le temps de lire ton truc, mais rien que la première ligne "case 3;" faut mettre un :
Ensuite une fonction, faut l'appeler pour l'utiliser.

'fin bref, apprend le PHP avant je pense...

Tiens, bonne idée.

Si ça peut aider...

$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';
// caractères autorisés avant l'arobase

$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)';
// caractères autorisés après l'arobase (nom de domaine)

$regex = '/^' . $atom . '+' .
// Une ou plusieurs fois les caractères autorisés avant l'arobase

'(\.' . $atom . '+)*' .
// Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase

'@' .
// Suivis d'un arobase

'(' . $domain . '{1,63}\.)+' .
// Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points

$domain . '{2,63}$/i';
// Suivi de 2 à 63 caractères autorisés pour le nom de domaine

// test de l'adresse e-mail

if (preg_match($regex, $variableQuiContientLeMail)) {
$emailValide = true;
} else {
$emailValide = false;
}
Lassé par la pub ? Créez un compte
Tom's guide dans le monde