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:
Merci d'avance,
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:
<?php
if(mysql_num_rows(mysql_query("SELECT Email FROM newsletter WHERE Email='$_POST[email]'"))) {
echo "<center><br>Votre adresse e-mail est deja inscrite à la newsletter des Jeunes Sapeurs Pompiers de Givry! (<b>$_POST[email]</b>)</center>" ;
echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
exit();
}
mysql_query("INSERT INTO newsletter VALUES ('','$_POST[email]')") or die ('Erreur SQL !<br>'.mysql_error());
mail_inscription();
echo "Votre inscription à la newsletter du site Internet des Jeunes Sapeurs Pompiers de Givry a été réussie.
Merci pour votre inscription! Vous receverez dès maintenant, les news du site.<center>Votre adresse e-mail est <b>$_POST[email]</b></center>";
echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
break;
?>
Merci d'avance,
Autres pages sur : verifier mail
Lassé par la pub ? Créez un compte
non, ca existe aussi en javascript.
regexp javascript
Mais c'est vrai que vu son code, il peut faire la meme chose en php.
regexp javascript
Mais c'est vrai que vu son code, il peut faire la meme chose en php.
j'ai essayer ce code là :
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.
function verif_email($email) {
$chars = "/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i";
if(strstr($user_email, '@') && strstr($user_email, '.')) {
if (preg_match($chars, $user_email)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
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 :
source : ici
function validation()
{
var email = document.formulaire.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");
return false;
}
else
{
alert("Votre email est correcte");
return true;
}
}
source : ici
Bizarre il me dit qu'il y a une erreur de code....
*
Voici le code que j'ai (enfait c'est une page php, avec 4 case et qui va à un formulaire chacune.)
case 3;
function validation()
{var email = document.formulaire.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" );
return false;
}
else
{
alert("Votre email est correcte" );
return true;
}
}
if(mysql_num_rows(mysql_query("SELECT Email FROM newsletter WHERE Email='$_POST[email]'"))) {
echo "<center><br>Votre adresse e-mail est deja inscrite à la newsletter des Jeunes Sapeurs Pompiers de Givry! (<b>$_POST[email]</b>)</center>" ;
echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
exit();
}
mysql_query("INSERT INTO newsletter VALUES ('','$_POST[email]')") or die ('Erreur SQL !<br>'.mysql_error());
mail_inscription();
echo "Votre inscription à la newsletter du site Internet des Jeunes Sapeurs Pompiers de Givry a été réussie.
Merci pour votre inscription! Vous receverez dès maintenant, les news du site.<center>Votre adresse e-mail est <b>$_POST[email]</b></center>";
echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
break;
*
Voici le code que j'ai (enfait c'est une page php, avec 4 case et qui va à un formulaire chacune.)
j'ai trouvé un code php, voici le tout, mais ça ne marche toujours pa.....
case 3;
function valid_email($email) {
// First, we check that there's one @ symbol, and that the lengths are right
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
// Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
return false;
}
// Split it into sections to make life easier
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
return false;
}
}
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
return false; // Not enough parts to domain
}
for ($i = 0; $i < sizeof($domain_array); $i++) {
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
return false;
}
}
}
return true;
}
if(mysql_num_rows(mysql_query("SELECT Email FROM newsletter WHERE Email='$_POST[email]'"))) {
echo "<center><br>Votre adresse e-mail est deja inscrite à la newsletter des Jeunes Sapeurs Pompiers de Givry! (<b>$_POST[email]</b>)</center>" ;
echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
exit();
}
mysql_query("INSERT INTO newsletter VALUES ('','$_POST[email]')") or die ('Erreur SQL !<br>'.mysql_error());
mail_inscription();
echo "Votre inscription à la newsletter du site Internet des Jeunes Sapeurs Pompiers de Givry a été réussie.
Merci pour votre inscription! Vous receverez dès maintenant, les news du site.<center>Votre adresse e-mail est <b>$_POST[email]</b></center>";
echo "<br><center><a href='javascript:window.close()'>FERMER LA FENETRE</center>";
break;
kikong a dit :
j'ai trouvé un code php, voici le tout, mais ça ne marche toujours pa.....
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...
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;
}
// 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
- Contenus similaires :
Tags :