Problème envoi données d'un formulaire vers email
Posté : 18 août 2016, 11:41
Bonjour,
Je suis novice et je suis entrain de créer un site internet. Je voulais le laisser en html, et j'aimerais juste utiliser du php pour envoyer les données d'un formulaire. Le formulaire en html est déjà intégré au template. Malheureusement il y a un problème : lorsque j'envoie les données, je ne reçois pas les champs remplis.
Voici le mail que je reçois :
Objet : Un message sur mon site
Message : Nom :
Email :
Message :
J'ai fait de nombreuses recherches et tests avant de me tourner vers vous, je vous remercie d'avance ...
Voici le html (index.html) :
<form action = "envoi.php" method="post" name= "Submit"> <div class="col-md-6 to-animate-2">
<h3> Formulaire de contact</h3>
<div class="form-group ">
<label for="name" class="sr-only">Nom</label>
<input id="name" class="form-control" placeholder="Name" type="text">
</div>
<div class="form-group ">
<label for="email" class="sr-only">Email</label>
<input id="email" class="form-control" placeholder="Email" type="email">
</div>
<div class="form-group">
<label for="occation" class="sr-only">Occasion</label>
<select class="form-control" id="occation">
<option>Sélectionnez</option>
<option>Repas quotidien</option>
<option>Buffet</option>
<option>Autres</option>
</select>
</div>
<div class="form-group ">
<label for="date" class="sr-only">Date</label>
<input id="date" class="form-control" placeholder="Date & Time" type="text">
</div>
<div class="form-group ">
<label for="message" class="sr-only">Message</label>
<textarea name="" id="message" cols="30" rows="5" class="form-control" placeholder="Message"></textarea>
</div>
<div class="form-group ">
<input class="btn btn-primary" value="Envoyer" name="envoi" type="submit">
</div>
Voici le php (envoi.php) :
<?php
$EmailFrom = $_POST['email'];
$EmailTo = "[email protected]";
$Subject = "Un message sur mon site";
$Nom = $_POST['name'];
$Email = $_POST['email'];
$Occasion = $_POST['occation'];
$Message = $_POST['message'];
// validation
$validationOK=true;
if (!$validationOK) {
echo "Error";
exit;
}
// mise en form mail
$Body = "";
$Body .= "Nom: ";
$Body .= $Nom;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= "\n";
$Body .= $Message;
$Body .= "\n";
// envoi email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// message success-error
if ($success){
echo "Votre message à bien été envoyé.";
}
else{
echo "Une erreur s'est produite à l'envoi de votre message.";
}
?>
Merci encore, je ne comprends pas ce qui cloche..
Coralie
Je suis novice et je suis entrain de créer un site internet. Je voulais le laisser en html, et j'aimerais juste utiliser du php pour envoyer les données d'un formulaire. Le formulaire en html est déjà intégré au template. Malheureusement il y a un problème : lorsque j'envoie les données, je ne reçois pas les champs remplis.
Voici le mail que je reçois :
Objet : Un message sur mon site
Message : Nom :
Email :
Message :
J'ai fait de nombreuses recherches et tests avant de me tourner vers vous, je vous remercie d'avance ...
Voici le html (index.html) :
<form action = "envoi.php" method="post" name= "Submit"> <div class="col-md-6 to-animate-2">
<h3> Formulaire de contact</h3>
<div class="form-group ">
<label for="name" class="sr-only">Nom</label>
<input id="name" class="form-control" placeholder="Name" type="text">
</div>
<div class="form-group ">
<label for="email" class="sr-only">Email</label>
<input id="email" class="form-control" placeholder="Email" type="email">
</div>
<div class="form-group">
<label for="occation" class="sr-only">Occasion</label>
<select class="form-control" id="occation">
<option>Sélectionnez</option>
<option>Repas quotidien</option>
<option>Buffet</option>
<option>Autres</option>
</select>
</div>
<div class="form-group ">
<label for="date" class="sr-only">Date</label>
<input id="date" class="form-control" placeholder="Date & Time" type="text">
</div>
<div class="form-group ">
<label for="message" class="sr-only">Message</label>
<textarea name="" id="message" cols="30" rows="5" class="form-control" placeholder="Message"></textarea>
</div>
<div class="form-group ">
<input class="btn btn-primary" value="Envoyer" name="envoi" type="submit">
</div>
Voici le php (envoi.php) :
<?php
$EmailFrom = $_POST['email'];
$EmailTo = "[email protected]";
$Subject = "Un message sur mon site";
$Nom = $_POST['name'];
$Email = $_POST['email'];
$Occasion = $_POST['occation'];
$Message = $_POST['message'];
// validation
$validationOK=true;
if (!$validationOK) {
echo "Error";
exit;
}
// mise en form mail
$Body = "";
$Body .= "Nom: ";
$Body .= $Nom;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= "\n";
$Body .= $Message;
$Body .= "\n";
// envoi email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// message success-error
if ($success){
echo "Votre message à bien été envoyé.";
}
else{
echo "Une erreur s'est produite à l'envoi de votre message.";
}
?>
Merci encore, je ne comprends pas ce qui cloche..
Coralie