Gestion de la fonction mail
vladimir14k
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
vladimir14k Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
vladimir14k Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
bonjour a voue qui s, j'aimerais savoir comment je pourrait envoyer un email a tout internaute qui me laisse un message sur le site. voici mon code: je récupéré les trois variables et je les enregistre dans ma BD. ca ne sortait pas en couleur.
<?php if(isset($_POST['envoyer'])){ $nom = htmlspecialchars($_POST['text']); $email = htmlspecialchars($_POST['email']); $message = htmlspecialchars($_POST['message']); if(filter_var($email, FILTER_VALIDATE_EMAIL) !== false){ try{ $stmt = new PDO('mysql:host=localhost;dbname=bd_fodoma;charset=utf8','root','bin2hex()'); $stmt->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $requete = $stmt->prepare("INSERT INTO visiteur(nom, email, commentaire) VALUES(:nom, :email, :commentaire)"); $requete->bindParam(":nom", $nom, PDO::PARAM_STR); $requete->bindParam(":email", $email, PDO::PARAM_STR); $requete->bindParam(":commentaire", $message, PDO::PARAM_STR); $requete->execute(); echo "<script type='text/javascript'>alert('Message envoyé.');</script>"; }catch(PDOException $e){ echo 'Erreur de connexion'.$e->getMessage(); exit(); } }else{ echo "<script type='text/javascript'>alert('E-mail invalide.');</script>"; } } ?>
A voir également:
- Gestion de la fonction mail
- Fonction si et - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion photo gratuit - Guide
3 réponses
<?php if(isset($_POST['envoyer'])){ $nom = htmlspecialchars($_POST['text']); $email = htmlspecialchars($_POST['email']); $message = htmlspecialchars($_POST['message']); if(filter_var($email, FILTER_VALIDATE_EMAIL) !== false){ try{ $stmt = new PDO('mysql:host=localhost;dbname=bd_fodoma;charset=utf8','root','bin2hex()'); $stmt->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $requete = $stmt->prepare("INSERT INTO visiteur(nom, email, commentaire) VALUES(:nom, :email, :commentaire)"); $requete->bindParam(":nom", $nom, PDO::PARAM_STR); $requete->bindParam(":email", $email, PDO::PARAM_STR); $requete->bindParam(":commentaire", $message, PDO::PARAM_STR); $requete->execute(); echo "<script type='text/javascript'>alert('Message envoyé.');</script>"; }catch(PDOException $e){ echo 'Erreur de connexion'.$e->getMessage(); exit(); } }else{ echo "<script type='text/javascript'>alert('E-mail invalide.');</script>"; } } ?>
Bonjour,
Déjà... la fonction htmlspecialchar ne doit être utilisée que pour de l'affichage et en aucun cas pour stocker les données dans la bdd.
(en BDD on stocke les données "brutes" )
Ensuite, vu que tu fais du PDO, je t'invite à lire et à appliquer ce qui est indiqué ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et de suivre aussi les conseils concernant la rédaction de ton code ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Concernant ta demande (envoi de mail) tu trouveras sans mal de nombreux exemples sur ce forum (et/ou sur internet en général...) sans aucune difficulté.
Soit en utilisant la fonction "mail" du serveur (https://www.commentcamarche.net/faq/117-php-fonction-mail) ... soit en utilisant la class php : phpMailer (https://github.com/PHPMailer/PHPMailer)
Je te demande également de lire ce guide concernant l'écriture du code sur le forum (j'ai édité ton message pour corriger la coloration syntaxique )
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Déjà... la fonction htmlspecialchar ne doit être utilisée que pour de l'affichage et en aucun cas pour stocker les données dans la bdd.
(en BDD on stocke les données "brutes" )
Ensuite, vu que tu fais du PDO, je t'invite à lire et à appliquer ce qui est indiqué ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et de suivre aussi les conseils concernant la rédaction de ton code ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Concernant ta demande (envoi de mail) tu trouveras sans mal de nombreux exemples sur ce forum (et/ou sur internet en général...) sans aucune difficulté.
Soit en utilisant la fonction "mail" du serveur (https://www.commentcamarche.net/faq/117-php-fonction-mail) ... soit en utilisant la class php : phpMailer (https://github.com/PHPMailer/PHPMailer)
Je te demande également de lire ce guide concernant l'écriture du code sur le forum (j'ai édité ton message pour corriger la coloration syntaxique )
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Merci pour ta reponse mon grand. mais ca ne marche pas toujours. voici ce que je vient de modifier:
<?php if(isset($_POST['envoyer'])){ $nom = htmlspecialchars($_POST['text']); $email = htmlspecialchars($_POST['email']); $message = htmlspecialchars($_POST['message']); if(filter_var($email, FILTER_VALIDATE_EMAIL) !== false){ try{ $stmt = new PDO('mysql:host=localhost;dbname=fodomaca_bd_fodoma;charset=utf8','fodomaca_root','F#@b14K_*j8'); $stmt->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $requete = $stmt->prepare("INSERT INTO visiteur(nom, email, commentaire) VALUES(:nom, :email, :commentaire)"); $requete->bindParam(":nom", $nom, PDO::PARAM_STR); $requete->bindParam(":email", $email, PDO::PARAM_STR); $requete->bindParam(":commentaire", $message, PDO::PARAM_STR); $requete->execute(); $to = $email; $subject = 'Accuse de reception'; $message = 'Bonjour ! nous avons bien recu votre message. Merci!'; $headers = 'From: contact@fodomacameroun.org' . "\r\n" . 'Reply-To: contact@fodomacameroun.org' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); echo "<script type='text/javascript'>alert('Message envoyé.');</script>"; }catch(PDOException $e){ echo 'Erreur de connexion'.$e->getMessage(); exit(); } }else{ echo "<script type='text/javascript'>alert('E-mail invalide.');</script>"; } } ?>