Salut à tous,
Je viens de créer un formulaire de contact très simple en PHP et j'aimerai souscrire ce formulaire en Ajax sans l'actualisation de la page, le probleme c'est que la partie PHP contient 2 redirections, mon code Ajax marche bien mais je veux savoir s'il y a un truck pour contourner les redirections et rester sur la meme page.
voici mes 2 codes:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
$errors = [];
 
$nom = htmlspecialchars($_POST['nom']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
 
if(!array_key_exists('nom', $_POST) || $_POST['nom'] == ''){
   $errors['nom'] = "Vous n'avez pas renseign&eacute votre nom !";
} 
 
if(!array_key_exists('email', $_POST) || $_POST['email'] == '' || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
   $errors['email'] = "Vous n'avez pas renseign&eacute un email valide !";
}
 
if(!array_key_exists('message', $_POST) || $_POST['message'] == ''){
	$errors['message'] = "Vous n'avez pas renseign&eacute votre message !";
	} 
 
session_start();
if(!empty($errors)){
 
   $_SESSION['errors'] = $errors;
   header('Location: ../contact.php#contactform');
 
} else {
   $_SESSION['success'] = 1;
 
   $to = "exemple@exemple.org";
 
   $headers ="MIME-Version: 1.0\r\n";
   $headers ='From:'.$nom.'<'.$email.'>'."\r\n";
   $headers.='Content-Type:text/html; charset="UTF-8"'."\r\n";
   $headers.='Content-Transfert-Encoding: 8bit';
      'Reply-To: $email' . "\r\n" .
      'X-Mailer: PHP/' . phpversion();	
 
   mail($to, "Form contact", $message, $headers);
   header('Location: ../contact.php#contactform');
}
 
die();					
?>

et le code Javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
$("#contactform").submit(function(){
   var action = $(this).attr('action');
   var nom = $(".nom").val();
   var email = $(".email").val();
   var message = $(".message").val();
 
   $('button[type="submit"]').hide().after('<img src="imgs/zZTBdeLybMk/ajaxl.gif" class="fleft inline ajaxll">');
   $('button[type="reset"]').hide();
 
   $.post(action,{
      nom:nom,
      email:email,
      message:message
   },function(){
      $(".message").html(data);
      $('.ajaxll').fadeOut();
      $('button[type="submit"]').fadeIn();
      $('button[type="reset"]').fadeIn();
   });
   return false;
});