Envoyer données d'un formulaire vers mon adresse mail
Harpartapsc07
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis un jeune lycéen débutant dans le codage html, et je m'exerce a coder un petit site...
Mon hébergeur est Hostinger, bien sur j'ai pris la version gratuite pour mettre en ligne mon site...
Mais j'ai un problème, je ne sais pas comment faire pour que le message qu'on a écrit dans un formulaire dans le site me soit envoyé à mon adresse mail, comme ça je peut consulter le message tranquillement chez moi.
Voici le codage html de mon formulaire que j'ai réussi a faire grâce a ce site:https://developer.mozilla.org/fr/docs/Web/Guide/HTML/Formulaires/Mon_premier_formulaire_HTML
<form action="/..." method="post">
<div>
<label for="nom">Nom :</label>
<input type="text" id="nom" />
</div>
<div>
<label for="courriel"> E-mail :</label>
<input type="email" id="courriel" />
</div>
<div>
<label for="message">Message :</label>
<textarea id="message"></textarea>
</div>
<div class="button">
<button type="submit">Envoyer votre message</button>
</div>
</form>
J'ai pas tout compris sur le site alors si quelqu'un peut me dire ce que je dois faire pour que les données entrées dans ce formulaires me soient transférées a mon adresse mail.
D'avance, merci beaucoup pour vos réponses!
Harpartapsc07
Je suis un jeune lycéen débutant dans le codage html, et je m'exerce a coder un petit site...
Mon hébergeur est Hostinger, bien sur j'ai pris la version gratuite pour mettre en ligne mon site...
Mais j'ai un problème, je ne sais pas comment faire pour que le message qu'on a écrit dans un formulaire dans le site me soit envoyé à mon adresse mail, comme ça je peut consulter le message tranquillement chez moi.
Voici le codage html de mon formulaire que j'ai réussi a faire grâce a ce site:https://developer.mozilla.org/fr/docs/Web/Guide/HTML/Formulaires/Mon_premier_formulaire_HTML
<form action="/..." method="post">
<div>
<label for="nom">Nom :</label>
<input type="text" id="nom" />
</div>
<div>
<label for="courriel"> E-mail :</label>
<input type="email" id="courriel" />
</div>
<div>
<label for="message">Message :</label>
<textarea id="message"></textarea>
</div>
<div class="button">
<button type="submit">Envoyer votre message</button>
</div>
</form>
J'ai pas tout compris sur le site alors si quelqu'un peut me dire ce que je dois faire pour que les données entrées dans ce formulaires me soient transférées a mon adresse mail.
D'avance, merci beaucoup pour vos réponses!
Harpartapsc07
A voir également:
- Envoyer les données d'un formulaire html par mail sans php
- Whatsapp formulaire opposition - Guide
- Gmail envoyer un mail - Guide
- Formulaire de réclamation facebook - Guide
- Supprimer les données de navigation - Guide
- Envoyer un mail en cci - Guide
3 réponses
Bonjour,
Premier souci.. tu n'as pas mis d'attributs "name" à tes éléments html... tu n'as mis que des ID .. hors ça ne suffira pas.
Par exemple :
A remplacer par :
Une fois que tu auras corrigé ça sur tes autres éléments.. tu pourras récupérer leurs valeur (via la variable $_POST) lorsque tu cliqueras sur le bouton submit en utiliasant la syntaxe :
Pour finir, si ton hébergeur ne permet pas d'utiliser la fonction "mail" .. tu peux essayer d'utiliser la class phpmailer
que tu peux récupérer ici :
https://github.com/PHPMailer/PHPMailer
Puis, pour envoyer un mail (en utilisant un compte gmail par exemple) tu peux faire :
Premier souci.. tu n'as pas mis d'attributs "name" à tes éléments html... tu n'as mis que des ID .. hors ça ne suffira pas.
Par exemple :
<input type="text" id="nom" />
A remplacer par :
<input type="text" id="nom" name="nom" />
Une fois que tu auras corrigé ça sur tes autres éléments.. tu pourras récupérer leurs valeur (via la variable $_POST) lorsque tu cliqueras sur le bouton submit en utiliasant la syntaxe :
<?php //xn--rcupration-b7ad des varaibles : $nom = isset($_POST['nom']) ? $_POST['nom'] : ""; //idem pour les autres champs...
Pour finir, si ton hébergeur ne permet pas d'utiliser la fonction "mail" .. tu peux essayer d'utiliser la class phpmailer
que tu peux récupérer ici :
https://github.com/PHPMailer/PHPMailer
Puis, pour envoyer un mail (en utilisant un compte gmail par exemple) tu peux faire :
require_once('../class.phpmailer.php'); //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(); $body = file_get_contents('contents.html'); $body = eregi_replace("[\]",'',$body); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "mail.yourdomain.com"; // SMTP server $mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "tls"; // sets the prefix to the servier $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail->Port = 587; // set the SMTP port for the GMAIL server $mail->Username = "yourusername@gmail.com"; // GMAIL username $mail->Password = "yourpassword"; // GMAIL password $mail->SetFrom('name@yourdomain.com', 'First Last'); $mail->AddReplyTo("name@yourdomain.com","First Last"); $mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "whoto@otherdomain.com"; $mail->AddAddress($address, "John Doe"); $mail->AddAttachment("images/phpmailer.gif"); // attachment $mail->AddAttachment("images/phpmailer_mini.gif"); // attachment if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
il me semble que hostinger gratuit ne permet pas de faire cela:
https://www.hostinger.fr/
https://www.hostinger.fr/
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
je pense que tu peux faire ainsi dans ton code php:
$to = 'Harpartapsc07@gmail.com'; $subject = 'php sendmail'; $message = 'Bonjour !'."\r\n".print_r($_SESSION,true); $headers = 'From: Harpartapsc07@gmail.com' . "\r\n" . 'Reply-To: Harpartapsc07@gmail.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers);
Merci pour ta réponse j'ai ajouté les attributs manquants comme tu m'as demandé de le faire, voila ce que ca donné:
<form action="/..." method="post">
<div>
<label for="nom">Nom :</label>
<input type="text" id="nom" name="nom" />
</div>
<div>
<label for="courriel"> E-mail :</label>
<input type="email" id="courriel" name="courriel" />
</div>
<div>
<label for="message">Message :</label>
<textarea id="message" name="message"></textarea>
</div>
<div class="button">
<button type="submit">Envoyer votre message</button>
</div>
mais je me suis rendu compte que mon hébergeur ne propose pas l'option PHP mailer dans mon option gratuite, ainsi j'ai décider d'envoyer les données du formulaire dans une base de données que je n'ai pas encore crée. Peux-tu m'expliquer comment faire et ce que je dois écrire dans <form action=??? method="post"> ?
Merci beaucoup!
alors la syntaxe
<?php
//xn--rcupration-b7ad des varaibles :
$nom = isset($_POST['nom']) ? $_POST['nom'] : "";
//
je dois la mettre ou exactement? dans mon fichier html juste en dessous du formulaie ou dans un nouveau fichier php?