Bonjour,
J'essaie de créer un formulaire de contact avec php et ajax.
Mais j'ai un problème avec les accents, cela fait qq heures que je usis dessus en ayant essayé pas mal de choses....(encodage UTF-8...)
Soit ça me donne des "?" à la place des "é,à,è..." siot des �...
Je vous donne mes codes :
Fichier contacts.php :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 url = document.location.href; xend = url.lastIndexOf("/") + 1; var base_url = url.substring(0, xend); var ajax_get_error = false; function ajax_do (url) { if (url.substring(0, 4) != 'http') { url = base_url + url; } var jsel = document.createElement('SCRIPT'); jsel.type = 'text/javascript'; jsel.src = url; document.body.appendChild (jsel); return true; } function ajax_get (url, el) { if (typeof(el) == 'string') { el = document.getElementById(el); } if (el == null) { return false; } if (url.substring(0, 4) != 'http') { url = base_url + url; } getfile_url = base_url + 'getfile.php?url=' + escape(url) + '&el=' + escape(el.id); ajax_do (getfile_url); return true; } function submit_form() { // on set les variables var name = document.getElementById('name').value; var email = document.getElementById('email').value; var comment = document.getElementById('comment').value; //on envoie vers le fichier contact_forum-check.php url = 'contact.php?name=' + escape(name) + '&email=' + escape(email) + '&comment=' + escape(comment); // on renvoie les résultats dans le div id result ajax_get (url, 'result'); }
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 <div class="padding"> <div class="wrapper margin-bot"> <div class="col-3"> <div class="indent"> <h2 class="p0">Formulaire de contact</h2> <dl> <dt>Votre nom :</dt> <dd><input type="text" name="name" id="name" value="" size="60" /></dd><br> <dt>Votre email :</dt> <dd><input type="text" name="email" id="email" value="" size="60" /></dd><br> <dt>Votre message :</dt> <dd><textarea name="comment" id="comment" cols="70" rows="8" /></textarea></dd><br> <dd><input type="button" name="Envoyer" value=" Envoyer" onClick="submit_form();"><br /> <div id="result"> </div> </dd> </dl>
Fichier contact.php :
Fichier get.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 <!--[if IE]> header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé <![endif]--> <?php // date du jour $date = date("d M Y à H:i:s"); // fonction verif format email function CheckEmail($email_auteur){ $motif1 = "^[[:alnum:]]([[:alnum:]\._-]{0,})[[:alnum:]]"; $motif1 .= "@"; $motif1 .= "[[:alnum:]]([[:alnum:]\._-]{0,})[\.]{1}([[:alpha:]]{2,})$"; $motif2 = "[\.]{2,}"; return (ereg($motif1, $email_auteur) && !ereg($motif2, $email)); } if (empty($_GET['name'])) { // SI PAS DE NOM die ("<br/><font style=\"color:#cc0000\"><img src='no.gif' alt='' /> Veuillez entrer votre nom...</font><br/>"); } if (empty($_GET['email'])) { // SI PAS D'EMAIL die ("<br/><font style=\"color:#cc0000\"><img src='no.gif' alt='' /> Veuillez entrer votre email...</font><br/>"); } if(preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i',($_GET['email'])&&($_GET['email']))){ // VERFIFE LE FORMAT DE l'EMAIL die ("<br/><font style=\"color:#cc0000\"><img src='no.gif' alt='' /> Le format de votre adresse e-mail n'est pas valide...</font><br/>"); } if (empty($_GET['comment'])) { // SI PAS COMMENTAIRE die ("<br/><font style=\"color:#cc0000\"><img src='no.gif' alt='' /> Veuillez entrer votre message...</font><br/>"); } // SI TOUT EST BON echo "<br><font style=\"color:#1A7917\"><img src='yes.gif' alt='' /> Votre email a été envoyé avec succès...<br>Nous prendrons contact avec vous dans les meilleurs délais.</font><br/>"; $recipient = "info@xxx"; $subject = "Formulaire de contact"; $mailheaders = "From: <".$_GET['email']."> \r\n"; $mailheaders .= "Reply-To: <".$_GET['email']."> \r\n"; $mailheaders .= "Bcc: ".$adminemail2." \r\n"; $mailheaders .= "Return-Path: <info@xxx> \n"; $mailheaders .= "X-Sender: <info@xxx> \n"; $mailheaders .= "X-Mailer: PHP \n"; $mailheaders .= "X-Priority: 1 \n"; $mailheaders .= "MIME-Version: 1.0 \n"; $mailheaders .= "Content-Type: text/html; charset=utf-8 \r\n"; $msg = "<br>\n"; $msg = "Vous avez reçu un message du site C3D :<br><br>\r\n"; $msg .= "$date | M ".stripslashes($_GET['name'])." <br>\r\n"; $msg .= " <br>\n"; $msg .= stripslashes($_GET['comment'])." <br>\n"; $msg .= "<br>\n"; $msg .= "<br>\n"; mail($recipient, $subject, $msg, $mailheaders) or die("Impossible d'envoyer le mail..."); ?>
Merci pour votre aide.
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 <?php // Get URL and div if (!isset($_GET['url'])) { die(); } else { $url = $_GET['url']; } if (!isset($_GET['el'])) { die(); } else { $el = $_GET['el']; } // Make sure url starts with http if (substr($url, 0, 4) != 'http') { // Set error echo 'alert(\'Security error; incorrect URL!\');'; die(); } // Try and get contents $data = @file_get_contents($url); if ($data === false) { // Set error echo 'alert(\'Unable to retrieve "' . $url . '"\');'; die(); } // Escape data $data = str_replace("'", "\'", $data); $data = str_replace('"', "'+String.fromCharCode(34)+'", $data); $data = str_replace ("\r\n", '\n', $data); $data = str_replace ("\r", '\n', $data); $data = str_replace ("\n", '\n', $data); ?> el = document.getElementById('<?php echo $el; ?>'); el.innerHTML = '<?php echo $data; ?>';
Bonne journée à vous.
Partager