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 ? Smiley eek


          <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)