Je rencontre un problème lors de l'envoi du mail via le formulaire de contact de mon site.
Le mail est correctement envoyé, mais les champs sont vides !
Ce que je reçois :
(sans objet)
(expediteur inconnu)
Nom:
Email:
Téléphone:
Société:
Sujet:
Message:
Le code HTML :
<div class="row contact-wrap">
<div class="status alert alert-success" style="display: none"></div>
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
<div class="col-sm-5 col-sm-offset-1">
<div class="form-group">
<label>Nom *</label>
<input type="text" name="name" class="form-control" value="name" required pattern="[a-zA-Z -]{3,40}" required="required">
</div>
<div class="form-group">
<label>Email *</label>
<input type="email" name="email" class="form-control" required="required">
</div>
<div class="form-group">
<label>Téléphone</label>
<input type="number" name="tel" class="form-control">
</div>
<div class="form-group">
<label>Société</label>
<input type="text" name="ste" class="form-control">
</div>
</div>
<div class="col-sm-5">
<div class="form-group">
<label>Sujet *</label>
<input type="text" name="subject" class="form-control" required="required">
</div>
<div class="form-group">
<label>Message *</label>
<textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea>
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary btn-lg submit" required="required">Envoyer ! <i class="fa fa-paper-plane" style="color:#12A99A;"></i></button>
</div>
</div>
</form>
</div>
Le PHP :<?php
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'Merci pour votre message, je vous recontacte rapidement ! '
);
$name = @trim(stripslashes($_POST["name"]));
$email = @trim(stripslashes($_POST["email"]));
$tel = @trim(stripslashes($_POST["tel"]));
$ste = @trim(stripslashes($_POST["ste"]));
$subject = @trim(stripslashes($_POST["subject"]));
$message = @trim(stripslashes($_POST["message"]));
$email_from = $email;
$email_to = '[email protected]';
$body = "Nom: " . $name . "\n\n" . "Email: " . $email . "\n\n" . "Téléphone: " . $tel . "\n\n" . "Société: " . $ste . "\n\n" . "Sujet: " . $subject . "\n\n" . "Message: " . $message;
$mail_OK=mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
die;
Le js : [javascript]var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
var form_status = $('<div class="form_status"></div>');
$.ajax({
url: $(this).attr('action'),
beforeSend: function(){
form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Envoi en cours...</p>').fadeIn() );
}
}).done(function(data){
form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut();
});
});
[/javascript]
(pour tenter de vous aiguiller, j'ai remplacé pour un test les lignes $name = @trim(stripslashes($_POST["name"])); par $name = test; , ça apparait bien dans le mail...)
Voila, ça fait un moment que je galère, merci d'avance pour votre aide !