Bonjour,
J'ai téléchargé un template de site "one page".
J'ai pu me l'approprier jusqu'à une certaine limite je l'avoue, raison pour laquelle je viens vers vous.
Je voudrais envoyer un email grâce à un formulaire html avec une méthode post ; chose à priori simple et pourtant...
D'une part, après divers test, je crois comprendre que le script php destinataire reçoit des variables vides, ou alors que rien n'est transmis. En tout cas les $_POST['name'] (par exemple) sont vides. Y a t-il des choses à faire pour qu'un post fonctionne qui ne serait pas bien effectué dans ce code ?
D'autre part, je suis face à une véritable énigme, créée par l'inconnu. Je m'explique. Il y a à la fin de la balise <form> 2 div qui sont appelées et j'ai l'impression qu'elles s'affichent selon un résultat renvoyé par le code php destinataire du formulaire. Pourtant il n'y a pas de if dans le code html et je ne vois rien de très explicite, en tout cas je ne le comprends pas, dans le code php.
Pourriez-vous m'aider à y voir clair svp ?
Merci d'avance,
Vince
Mon code html :
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
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 <form> <div class="row"> <div class="col-lg-4"> <address> <div class="address-row"> <div class="address-sign"> <i class="icon-map-marker"></i> </div> <div style="address-info"> <b>Single Page Responsive Template</b>,<br> Using Twitter Bootstrap 3,<br> EGrappler.com </div> </div> </address> <div class="visible-xs visible-sm"> <br class="gap-30" /> <hr class="gap-divider" /> <br class="gap-30" /> </div> </div> <div class="col-lg-7 col-lg-offset-1"> <form method="post" action="send_form_email.php" id="contactform"> <div class="form-group"> <div class="row"> <div class="col-lg-6"> <input type="text" class="form-control" id="name" name="name" placeholder="Your Name *"><br class="gap-15" /> </div> <div class="col-lg-6"> <input type="text" class="form-control" id="email" name="email" placeholder="Your Email *"> </div> </div> </div> <div class="form-group"> <textarea class="form-control" id="message" name="message" rows="8"></textarea> </div> <button id="button-send" class="btn btn-block btn-success" type="submit" form="contactform"> Send Message Now </button> <div id="success"> Your message has been sent successfully!</div> <div id="error"> Unable to send your message, please try later.</div> </form> </div> </div> </form> </div> </div>
Mon code php :
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
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 <?php $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; // EDIT THE 2 LINES BELOW AS REQUIRED $send_email_to = "monemail@yahoo.fr"; $email_subject = "Pre-inscription a Pay Fair"; function send_email($name,$email,$email_message){ global $send_email_to; global $email_subject; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; $headers .= "From: ".$email. "\r\n"; $message = "<strong>Email = </strong>".$email."<br>"; $message .= "<strong>Name = </strong>".$name."<br>"; $message .= "<strong>Message = </strong>".$email_message."<br>"; @mail($send_email_to, $email_subject, $message,$headers); return true; } function validate($name,$email,$message){ $return_array = array(); $return_array['success'] = '1'; $return_array['name_msg'] = ''; $return_array['email_msg'] = ''; $return_array['message_msg'] = ''; if($email == ''){ $return_array['success'] = '0'; $return_array['email_msg'] = 'Saisissez votre email svp'; mail("vincentmarce@yahoo.fr","erreur","Saisissez votre email svp"); } else{ $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; if(!preg_match($email_exp,$email)) { $return_array['success'] = '0'; $return_array['email_msg'] = 'Saisissez un email valide svp'; mail("vincentmarce@yahoo.fr","erreur","Saisissez un email valide svp"); } } if($name == ''){ $return_array['success'] = '0'; $return_array['name_msg'] = 'Saisissez votre nom svp'; mail("vincentmarce@yahoo.fr","erreur","Saisissez votre nom svp"); } else{ $string_exp = "/^[A-Za-z .'-]+$/"; if (!preg_match($string_exp, $name)) { $return_array['success'] = '0'; $return_array['name_msg'] = 'Saisissez un nom valide svp'; mail("vincentmarce@yahoo.fr","erreur","Saisissez un nom valide svp"); } } if($message == ''){ $return_array['success'] = '0'; $return_array['message_msg'] = 'Saisssez un message svp'; mail("vincentmarce@yahoo.fr","erreur","Saisissez votre message svp"); } else{ if (strlen($message) < 2) { $return_array['success'] = '0'; $return_array['message_msg'] = 'Saisissez un message valide svp'; mail("vincentmarce@yahoo.fr","erreur","Saisissez un message valide svp"); } } return $return_array; } $return_array = validate($name,$email,$message); if($return_array['success'] == '1'){ mail("vincentmarce@yahoo.fr","succes","message"); send_email($name,$email,$message); } header('Content-type: text/json'); echo json_encode($return_array); die(); ?>
Partager