Bonjour,
Je n'ai pas réussi à trouver un post avec un problème similaire, si tel était le cas, je m'en excuse.
Comme indiqué dans le titre, je reçois bien les mails mais les données entrées dans le formulaire de contact n’apparaissent pas (le mail est totalement blanc).
Pourriez vous m'indiquer si le problème vient du côté serveur ou bien si je dois simplement retourner travailler mon code ?
Ce code PHP marche:
if($_POST){
$name = $_POST['name'];
$firstname = $_POST['firstname'];
$email = $_POST['email'];
$message = $_POST['message'];
$headers = "MIME-Version: 1.0 \n";
$headers .= "Content-type: text/html; charset=iso-8859-1 \n";
$headers .= "X-Priority: 1 \n";
$headers .= "X-MSMail-Priority: High \n";
$Subject = "Alternance";
$to="postmaster@pierre-lacombe.fr";
$from = "$email";
$body="$message";
if(mail($to,$Subject,$body,$headers)) {
$response['status'] = 'success';
$response['msg'] = 'your mail is sent';
} else {
$response['status'] = 'error';
$response['msg'] = 'Something went wrong';
}
echo json_encode($response);
}
?>
Le code AJAX :
$('#sending_form').click(function(e) {
e.preventDefault();
var data = {
name: $('#name').val(),
firstname: $('#firstname').val(),
email: $('#email').val(),
message: $('#message').val()
};
//AJAX
$.ajax({
url: "http://pierre-lacombe.fr/mail.php",
type: "POST",
data: "data",
success: function(data) {
$('#js_alert_success').css({'display' : 'block'});
setTimeout(function(){
$('#js_alert_success').css({'display' : 'none'});
$('#name').val("");
$('#firstname').val("");
$('#email').val("");
$('#message').val("")
}, 3000);
},
error: function(data) {
$('#js_alert_danger').css({'display' : 'block'});
setTimeout(function(){
$('#js_alert_danger').css({'display' : 'none'});
$('#name').val("");
$('#firstname').val("");
$('#message').val("")
$('#email').val("");
}, 3000);
}
});
});
HTML:
Merci beaucoup :)
Bonjour
Testez vos variables, notamment $body
Un simple echo $body;
S'il est vide, vous savez d'où vient le problème.
Sinon, dès que ça marche, il faudra sécuriser vos données car :
$name = $_POST['name'];
$firstname = $_POST['firstname'];
$email = $_POST['email'];
$message = $_POST['message'];
C'est spam assuré, puisqu'on peut entrer n'importe quoi.