Valider adresse courriel dans formulaire PHP
Résolu
GrifOli
Messages postés
2111
Date d'inscription
Statut
Membre
Dernière intervention
-
GrifOli Messages postés 2111 Date d'inscription Statut Membre Dernière intervention -
GrifOli Messages postés 2111 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé un formulaire dans lequel la personne doit écrire son adresse courriel. Une fois que la personne appuie sur "Envoyer", le formulaire est envoyé vers une adresse courriel. Mon code initial vérifiait que "quelque chose" avait bien été entré dans la case "Courriel".
Voici ce code:
Maintenant, j'aimerais que mon code vérifie si l'adresse courriel est valide avant l'envoie du formulaire. J'ai modifié mon code, mais peu importe ce que la personne écrit, ça envoie quand même le formulaire. Voici mon code modifié:
Je ne voudrais pas que le formulaire s'envoie si l'adresse courriel n'est pas valide... où est l'erreur dans mon code?
Merci!
J'ai créé un formulaire dans lequel la personne doit écrire son adresse courriel. Une fois que la personne appuie sur "Envoyer", le formulaire est envoyé vers une adresse courriel. Mon code initial vérifiait que "quelque chose" avait bien été entré dans la case "Courriel".
Voici ce code:
<?php if (strlen($_POST['courriel']) > 0) { $courriel = TRUE; } else { $courriel = FALSE; } if ($courriel) { $msg = "À ajouter à la liste de distribution des bulletins: {$_POST['courriel']}\n"; $recipient = "mon@adresse.com"; $subject = "Courriel pour liste de distribution"; $mailheaders = "Bulletin BMG\n"; $mailheaders .= "Reply-To: {$_POST['courriel']}\n\n"; mail($recipient, $subject, $msg, $mailheaders); echo "<p><b><font color='#93FF23'>Merci, votre adresse courriel a bien été transmise!</font></b></p>"; } else { echo "<p><b><font color='#93FF23'>Vous avez oublié d'indiquer votre adresse courriel.</font></b></p>"; } ?>
Maintenant, j'aimerais que mon code vérifie si l'adresse courriel est valide avant l'envoie du formulaire. J'ai modifié mon code, mais peu importe ce que la personne écrit, ça envoie quand même le formulaire. Voici mon code modifié:
<?php if(filter_var($courriel, FILTER_VALIDATE_EMAIL) === TRUE) { $courriel = TRUE; } else { $courriel = FALSE; } if ($courriel) { $msg = "À ajouter à la liste de distribution des bulletins: {$_POST['courriel']}\n"; $recipient = "mon@adresse.com"; $subject = "Courriel pour liste de distribution"; $mailheaders = "Bulletin BMG\n"; $mailheaders .= "Reply-To: {$_POST['courriel']}\n\n"; mail($recipient, $subject, $msg, $mailheaders); echo "<p><b><font color='#93FF23'>Merci, votre adresse courriel a bien été transmise!</font></b></p>"; } else { echo "<p><b><font color='#93FF23'>Vous devez entrer une adresse courriel valide.</font></b></p>"; } ?>
Je ne voudrais pas que le formulaire s'envoie si l'adresse courriel n'est pas valide... où est l'erreur dans mon code?
Merci!
A voir également:
- Valider adresse courriel dans formulaire PHP
- Whatsapp formulaire opposition - Guide
- Darkino nouvelle adresse - Guide
- Adresse mac - Guide
- Formulaire de réclamation facebook - Guide
- Changer adresse dns - Guide
4 réponses
Dans ton filter_var, ce serait pas plutôt le $_POST qui devrait être testé ?
Après ton test, vérifie ce que contient $courriel.
Du genre :
Après ton test, vérifie ce que contient $courriel.
Du genre :
$courriel = filter_var($_POST['courriel'], FILTER_VALIDATE_EMAIL) !== false ? true : false; var_dump($courriel);
Merci pour ta réponse. J'ai modifié le code et ça fonctionne bien. Cependant, j'ai un petit mot qui s'affiche au-dessus de mon message;
bool(false)
Vous devez entrer une adresse courriel valide.
Comment faire pour ne pas que "bool(false)" s'affiche? Revoici mon code:
bool(false)
Vous devez entrer une adresse courriel valide.
Comment faire pour ne pas que "bool(false)" s'affiche? Revoici mon code:
<?php $courriel = filter_var($_POST['courriel'], FILTER_VALIDATE_EMAIL) !== false ? true : false; var_dump($courriel); if ($courriel) { $msg = "À ajouter à la liste de distribution des bulletins: {$_POST['courriel']}\n"; $recipient = "mon@adresse.com"; $subject = "Courriel pour liste de distribution"; $mailheaders = "Bulletin BMG\n"; $mailheaders .= "Reply-To: {$_POST['courriel']}\n\n"; mail($recipient, $subject, $msg, $mailheaders); echo "<p><b><font color='#93FF23'>Merci, votre adresse courriel a bien été transmise!</font></b></p>"; } else { echo "<p><b><font color='#93FF23'>Vous devez entrer une adresse courriel valide.</font></b></p>"; } ?>