Envoyer données d'un formulaire vers mon adresse mail

Fermé
Harpartapsc07 Messages postés 57 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 23 janvier 2022 - Modifié par Harpartapsc07 le 18/02/2017 à 14:43
yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 19 févr. 2017 à 19:25
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

A voir également:

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 févr. 2017 à 20:19
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 :
<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!";
}
    

2
Harpartapsc07 Messages postés 57 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 23 janvier 2022 3
19 févr. 2017 à 11:44
Bonjour Jordane,

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!
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
19 févr. 2017 à 12:19
L'option phpmailer????... tu n'as rien compris... ce n'est pas une option... C'est du code à Télécharger et à mettre sur ton site !
0
Harpartapsc07 Messages postés 57 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 23 janvier 2022 3
19 févr. 2017 à 12:26
ah ok ! je me suis trompé,

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?
0
Harpartapsc07 Messages postés 57 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 23 janvier 2022 3
19 févr. 2017 à 12:32
ah ca y est j'ai compris, je créé un fichier php et j'entre le nom de ce fichier.php dans <form action="/fichier.php"
0