Bonjour,
J'ai un problème avec un formulaire html tout fonctionne les emails partent et sont reçus mais au lieu du message attendu après l'envoi du formulaire j'ai ça :
{"messageMessage":"","nameMessage":"","emailMessage":"","subjectMessage":""} et je n'arrive pas à comprendre pourquoi ... Si quelqu'un à une piste je suis preneur et le remercie d'avance !
Voici les différents codes :
le formulaire html :
ensuite les appels de scripts extérieurs :
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
15
16
17
18
19
20
21
22
23 <div class="contact-us container"> <div class="row"> <div class="contact-form span7"> <form role="form" method="post" action="assets/send.php"> <!-- MLG ajouté role="form" --> <p>blablablablablabla...</p> <p>blablablablablabla ?</p> <p>blablablablablabla ?</p> <p>blablablablablabla.</p> <p>blablablablablabla!</p> <label for="message" class="messageLabel">Posez votre question</label> <textarea id="message" name="message" placeholder="Posez votre question blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla."> </textarea> <label for="name" class="nameLabel">Prénom</label> <input id="name" type="text" name="name" placeholder="Entrez votre prénom"> <label for="email" class="emailLabel">Email</label> <input id="email" type="text" name="email" placeholder="Entrez votre email"> <label for="subject">Numéro de portable</label> <input id="subject" type="text" name="subject" placeholder="Entrez votre numéro de portable"> <button type="submit">Envoyer</button> </form> </div>
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <!-- Javascript --> <script src="assets/js/jquery-1.8.2.min.js"></script> <script src="assets/bootstrap/js/bootstrap.min.js"></script> <script src="assets/js/jquery.flexslider.js"></script> <script src="assets/js/jquery.tweet.js"></script> <script src="assets/js/jflickrfeed.js"></script> <script src="../maps.google.com/maps/api/js/index-sensor=true.html"></script> <script src="assets/js/jquery.ui.map.min.js"></script> <script src="assets/js/jquery.quicksand.js"></script> <script src="assets/prettyPhoto/js/jquery.prettyPhoto.js"></script> <script src="assets/js/scripts-send.js"></script>
le code de send.php :
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 <?php // Email address verification function isEmail($email) { return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i", $email)); } if($_POST) { // Enter the email where you want to receive the message // $emailTo = 'machin@gmail.com'; $message = addslashes(trim($_POST['message'])); $clientName = addslashes(trim($_POST['name'])); $clientEmail = addslashes(trim($_POST['email'])); $subject = addslashes(trim($_POST['subject'])); $array = array(); $array['messageMessage'] = ''; $array['nameMessage'] = ''; $array['emailMessage'] = ''; $array['subjectMessage'] = ''; if($message == '') { $array['messageMessage'] = 'Please enter your message.'; } if($clientName == '') { $array['nameMessage'] = 'Please enter your name.'; } if(!isEmail($clientEmail)) { $array['emailMessage'] = 'Please insert a valid email address.'; } if($subject == '') { $array['subjectMessage'] = 'Please enter your phone number.'; } // if($message != '') && ($nom != '') && isEmail($clientEmail) && ($subject != '') { if(isEmail($clientEmail)) { // Send email $headers = "From: " . $clientName . " <" . $clientEmail . ">" . "\r\n" . "Reply-To: " . $clientEmail; mail($emailTo, $subject . ' (blablabla)', $message, $headers); } echo json_encode($array); } ?>
Et enfin le code du script (send.js) appelé pour le texte qui est censé s'afficher après l'envoi :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36 /* Contact form */ jQuery(document).ready(function() { $('.contact-form form').submit(function() { $('.contact-form form .nameLabel').html('Name'); $('.contact-form form .emailLabel').html('Email'); $('.contact-form form .messageLabel').html('Message'); var postdata = $('.contact-form form').serialize(); $.ajax({ type: 'POST', url: 'assets/send.php', data: postdata, dataType: 'json', success: function(json) { if(json.nameMessage != '') { $('.contact-form form .nameLabel').append(' - <span class="violet" style="font-size: 13px; font-style: italic"> ' + json.nameMessage + '</span>'); } if(json.emailMessage != '') { $('.contact-form form .emailLabel').append(' - <span class="violet" style="font-size: 13px; font-style: italic"> ' + json.emailMessage + '</span>'); } if(json.messageMessage != '') { $('.contact-form form .messageLabel').append(' - <span class="violet" style="font-size: 13px; font-style: italic"> ' + json.messageMessage + '</span>'); } if(json.nameMessage == '' && json.emailMessage == '' && json.messageMessage == '') { $('.contact-form form').fadeOut('fast', function() { $('.contact-form').append('<p><span class="violet"> <h1> Merci de votre message ! </h1> <h2>\n 00 00 00 00 00 </h2> </span> \n Offre limitée dans le temps !</p>'); }); } } }); return false; }); });
Partager