Bonjour,
Je viens vers vous car je dois avoir une erreur dans mon code mais je ne vois pas où elle est ^^
Je vous mets les codes qui sont concernés et je vous explique après.
Mon formulaire
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <form action="mail.php" method="post"> <input type="text" placeholder="Prénom & Nom" style="width:250px;" name="firstname_name" required/><br/> <input type="mail" placeholder="Email" name="email" style="width:250px;" required/><br/> <input type="text" placeholder="Téléphone" name="telephone" style="width:250px;" required/><br/> <input type="text" placeholder="Société" name="compagny" style="width:250px;" required/><br/> <h6>Je suis intéressé par :</h6> <input type="checkbox" name="formation" value="SEA" id="SEA"/><label for="SEA">SEA</label> <input type="checkbox" name="formation" value="SEO" id="SEO"/><label for="SEO">SEO</label> <input type="checkbox" name="formation" value="Analytics" id="analytics"/><label for="analytics">Analytics</label> <br/> <input type="submit" class="bouton" id="envoi_mail" value="ENVOYER MA DEMANDE" /> <button><img src="images/phone.png"></button> </form>
Ma fonction Ajax
Code javascript : 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 $(document).ready(function(){ $('form').submit(function(){ $.ajax({ type: "post", url: "mail.php", data: $(this).serialize()+"&js=true" }).done(function(mail){ $('#mail_envoie').html(mail); $( "#mail_envoie" ).dialog(); }) $('#mail_envoie').html("Votre demande n'a pas été prise en compte. Veuillez réessayer dans quelques instants."); $( "#mail_envoie" ).dialog(); return false; }); });
Mon traitement:
Donc bon rien de bien sorcier.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 <?php header('Content-Type: text/html; charset=UTF-8'); $mail = "benoit@orixa-media.com"; if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) { $passage_ligne = "\r\n"; } else { $passage_ligne = "\n"; } //=====Création du header de l'e-mail $header = "From: ".$_POST['firstname_name']."<".$_POST['email'].">".$passage_ligne; $header .= "MIME-Version: 1.0".$passage_ligne; $header .= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne; //========== //=====Déclaration des messages au format texte et au format HTML. $message_html = "<html> <body> <b>Bonjour</b>,<br/> Je souhaiterais avoir des informations à propos de la formation : <ul> <li>Formation 1</li> </ul> <br/> Voici mes informations: <br/> <b>Nom et Prénom : </b>".$_POST['firstname_name']."<br/> <b>Email :</b>".$_POST['email']."<br/> <b>Société :</b>".$_POST['compagny']."<br/> <br/> En vous remerciant par avance.<br/> Cordialement. </body> </html>"; //========== //=====Création de la boundary $boundary = "-----=".md5(rand()); //========== //=====Définition du sujet. $sujet = "Demande d'informations !"; //========= //=====Création du header de l'e-mail. $header = "From: Orixa Media Formations <formation@gmail.com>".$passage_ligne; $header.= "Reply-to: ".$_POST['firstname_name']."<".$_POST['email'].">".$passage_ligne; $header.= "MIME-Version: 1.0".$passage_ligne; $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne; //========== //=====Création du message. $message = $passage_ligne."--".$boundary.$passage_ligne; //=====Ajout du message au format texte. $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_txt.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary.$passage_ligne; //=====Ajout du message au format HTML $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_html.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary."--".$passage_ligne; $message.= $passage_ligne."--".$boundary."--".$passage_ligne; //========== if(mail($mail,$sujet,$message,$header)){ $answer = "Votre message a bien été envoyé.<br/>Nous vous recontacterons rapidemment.<br/><a href='index.php'>Revenir sur l'accueil</a>"; } else{ $answer = "Votre message n'a pas été envoyé<br/>Veuillez réessayer dans quelques instants<br/><a href='index.php'>Revenir sur l'accueil</a>"; } //=====Envoi de l'e-mail. //========== ?>
J'ai un formulaire d'envoi d'email que je veux gérer en Ajax.
Actuellement, le mail s'envoie bien mais en php (l'Ajax n'est pas appelé).
Je ne vois pas où est mon erreur qui fait que ca ne se fait pas en Ajax.
Je vous remercie par avance de vos réponses.
Bonne journée.
Benito
EDIT: problème résolu. Merci pour vos nombreuses réponses
Partager