Bonjour,
J'ai un petit soucis de formulaire. Je ne reçois pas l'email lorsqu'un utilisateur envoie le formulaire depuis le site. J'ai utilisé PHP et Ajax pour l'envoie. Est-ce qu"une personne saurait trouver mon erreur ?
Modifié par cyrilbuch (28 May 2020 - 22:39)
J'ai un petit soucis de formulaire. Je ne reçois pas l'email lorsqu'un utilisateur envoie le formulaire depuis le site. J'ai utilisé PHP et Ajax pour l'envoie. Est-ce qu"une personne saurait trouver mon erreur ?
<div id="success"></div>
<form id="form" method="post" action="mailer.php">
<label class="form-group"></label>
<span class="error"></span>
<input type="text" class="form-con" id="nom" name="nom">
<span>Nom</span>
<label class="form-group"></label>
<span class="error"></span>
<input type="text" class="form-con" id="email" name="email" >
<span for="">E-mail</span>
<label class="form-group"></label>
<span class="error"></span>
<input type="text" class="form-con" id="sujet" name="sujet" >
<span>Sujet</span>
<label class="form-group"></label>
<span class="error"></span>
<textarea name="message" id="message" class="form-con" ></textarea>
<span for="">Message</span>
<button type="submit" id="submit" name="submit">Envoyer
</button>
</form>
$(document).ready(function() {
$('#form').submit(function(){
valid = true;
if($('#nom').val()==''){
$('#nom').prev('.error').fadeIn(1000).text('Indiquez votre nom');
valid = false;
}else{
$('#nom').prev('.error').slideUp();
}
if(!$('#email').val().match(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/)){
$('#email').prev('.error').fadeIn(1000).text('Veuillez indiquer un mail valide');
valid = false
}else{
$('#email').prev('.error').slideUp();
}
if($('#sujet').val()==''){
$('#sujet').prev('.error').fadeIn(1000).text('Indiquez votre sujet');
valid = false;
}else{
$('#sujet').prev('.error').slideUp();
}
if($('#message').val()==''){
$('#message').prev('.error').fadeIn(1000).text('Indiquez votre message');
valid = false;
}else{
$('#message').prev('.error').slideUp();
}
if(valid==true){
var nom = $('nom').val();
var email = $('email').val();
var sujet = $('sujet').val();
var message = $('message').val();
var dataString = 'nom='+nom+'&email='+email+'&sujet='+sujet+'&message='+message;
$.ajax({
type : 'POST',
url : 'mailer.php',
data: dataString,
success : function(){
$('#form').slideUp();
$('#success').slideDown();
$('#success').text('Votre formulaire a été envoyé !');
}
});
}
return false;
});
});
<?php
if( !empty($_POST) && !empty($_POST['nom']) && !empty($_POST['email']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) && !empty($_POST['sujet']) && !empty($_POST['message']))
{
extract($_POST);
$nom = strip_tags($nom);
$email = strip_tags($email);
$sujet = strip_tags($sujet);
$message = strip_tags($message);
$objet = 'Modern website : '.$nom;
$monEmail = 'c*****@gmail.com';
$message = nl2br($message);
$headers = 'From: '.$nom.'<'.$email.'>';
$headers.= 'MIME-version: 1.0' . "\r\n";
$headers.= 'Content-type: text/html; charset=utf-8' . "\r\n";
mail($monEmail, $objet, $sujet, $message, $headers);
header('Location : index.php');
}
else {
extract($_POST);
if(empty($nom)) {echo 'Indiquez votre nom<br />';}
if(empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {echo 'Indiquez un mail<br />';}
if(empty($sujet)) {echo 'Indiquez votre sujet<br />';}
if(empty($message)) {echo 'Indiquez votre message<br />';}
}
?>
Modifié par cyrilbuch (28 May 2020 - 22:39)