Bonjour.
Dans un formulaire d'envoi de message, certains caractères ne sont par respectés.
Par exemple, la virgule est remplacée par \\ ainsi de d'autres caractères.
Comment résoudre ce problème ?
Merci.
Bonjour.
Dans un formulaire d'envoi de message, certains caractères ne sont par respectés.
Par exemple, la virgule est remplacée par \\ ainsi de d'autres caractères.
Comment résoudre ce problème ?
Merci.
De quelle manière constates-tu le problème ?
Mon formulaire est composé de trois fichiers.
1 - Le fichier HTML qui contient les zones de saisie.
Un fichier Envoi en 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 <html> <head> <meta content="text/html; charset=windows-1252" http-equiv="content-type"> <meta http-equiv="Content-Language" content="fr"> <link type="text/css" rel="stylesheet" href="page.css"> <link type="text/css" rel="stylesheet" href="style.css"> <title>LES AMIS DE L'EGLISE Saint NIZIER</title> </head> <body style=" background-color: #ffffcc;font-family: Arial;"> <div style="text-align: center; background-color: #ffffcc;"><span style="color: #cc0000;"><span style="font-weight: bold;"><span style="font-style: italic;"><font size="5">LES AMIS DE L'EGLISE Saint NIZIER<br> <span style="color: #000099;">Envoyer un message à l'association</span><br> </font></span></span></span></div> <form style="background-color: #ffffcc;" method="POST" action="VerifMessage.php" name="Contact"> <font size="4"> <p align="center">Entrer votre adresse e-mail : <input name="Email" size="35" value="(ex: tom@hotmail.com)" style=" border: 2px ridge #000000; text-align:center" maxlength="50" type="text"></p> <p align="center">Entrer vos noms prénoms : <input name="Pseudo" size="35" value="(ex: DarkTom)" maxlength="25" style=" border: 2px ridge #000000; text-align:center" type="text"></p> <p align="center">Entrer votre message :<br> <textarea rows="12" name="Message" cols="86" style=" border: 2px ridge #000000;">Bonjour, </textarea></p> <p align="center"> <input value="Envoyer mon message." style=" border: 2px ridge #000000;" type="submit"> <input value="Rétablir tous." style=" border: 2px ridge #000000;" type="reset"></p> </font> </form> <p style="background-color: #ffffcc;" align="center"> <img alt="co" src="courriel.jpg"></p> <center style="background-color: #ffffcc;"> <table style="width: 600px; height: 87px;" border="0"> <tbody> <tr> <td style="text-align: right; width: 200px"><img alt="fl" src="fleche_298.gif"><br> </td> <td style="width: 400px;"><a href="bon%201.pdf">Bon dinformation au format PDF</a><br> <a href="bon%201.doc">Bon d'information au format DOC 95 - 2003</a><br> <a href="bon%201.rtf">Bon d'information au format RTF</a><br> </td> </tr> </tbody> </table> </center> <p align="center"><br> </p> </body> </html>
Et un fichier de vérification en 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 while (list($key, $val) = each($HTTP_POST_VARS)) { // Ne pas touchez ! $message .= "$key : $val\n"; // Ne pas touchez ! } mail($TO, $subject, $message, $h); // Ne pas touchez ! ?> <html> <link type="text/css" rel="stylesheet" href="page.css"> <head> <meta http-equiv="Content-Language" content="fr"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>FORMULAIRE DE CONTACT</title> </head> <body style=" background-color: #ffffcc;font-family: Arial;"> <h3 align="center"><span style="text-transform: uppercase"><u>FORMULAIRE DE CONTACT</u></span></h3> <p align="center">Votre message vient d'être <b><u>envoyé</u></b> !</p></p> <form method="POST" action="SendMessage.php" name="Send"> <p align="center"> <a href="javascript:history.back(-2)"><font color="#000000">Revenir en arrière</a></font> </p> <p align="center"> <A href="javascript:window.close()"><font color=#990000"><b>QUITTER</b></font></A> </p> </form> </body>
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 <title>FORMULAIRE DE CONTACT</title> </head> <body style=" background-color: #ffffcc;font-family: Arial;"> <h3 align="center"><<span style="text-transform: uppercase"><u>FORMULAIRE DE CONTACT</u></span></h3> <p align="center">Voici se que vous avez entrez : </p></p> <form method="POST" action="SendMessage.php" name="Send"> <p align="center"> <?php echo "$Email"; ?></p> <p align="center"> <?php echo "$Pseudo"; ?></p> <p align="center"> <?php echo "$Message"; ?></p> <p align="center"><b>Si vous souhaiter modifier :</b></p> <p align="center"> <textarea wrap=virtual rows="12" name="Message" cols="86" style="font-family: Franklin Gothic Book; border: 2px ridge #000000; text-align:left; line-height:100%"><?php echo "- Adresse E-mail : $Email"; ?> <?php echo "- Nom-prenom : $Pseudo"; ?> <?php echo "- De :"; ?> <?php echo " $Message"; ?> </textarea></font></p> <p align="center"> <input type="submit" value="Envoyer mon message." style=" border: 2px ridge #000000;"> </p> <p align="center"> <a href="javascript:history.back()"><font color="#000000">Revenir en arrière</font></a></p> </form> </body> </html>
Lors de la frappe, tout est normal. Mais à la vérification et à l'arrivée du message dans la boite Mail, l'apostrophe est remplacée par: \' ou \\'
ah d'accord c'est l'apostrophe qui est concernée, pas la virgule.
Il faut désactiver les magic quotes :
http://php.net/manual/fr/security.ma....disabling.php
Bonjour et merci de votre aide.
Malheureusement je ne connais rien en PHP.
J'ai fait une modification du fichier d'envoi, mais rien ne change
Code d'origine :
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 <?php $Message = $_POST["Message"]; // On récupére le contenus du textarea de VerifMessage.php $TO = "amis.saintnizier@gmail.com"; // Adresse email ou vous allez recevoir le/les message(s). $h = "From: " . "lyon.amissaintnizier.free.fr"; // Entrer l'adresse de votre site ou l'adresse email de votre site. $message = ""; // Lesser vide. $subject = "Nouveau Message"; //Sujet du mail que vous allez recevoir. while (list($key, $val) = each($HTTP_POST_VARS)) { // Ne pas touchez ! $message .= "$key : $val\n"; // Ne pas touchez ! } mail($TO, $subject, $message, $h); // Ne pas touchez ! ?> <html> <link type="text/css" rel="stylesheet" href="page.css"> <head> <meta http-equiv="Content-Language" content="fr"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>FORMULAIRE DE CONTACT</title> </head> <body style=" background-color: #ffffcc;font-family: Arial;"> <h3 align="center"><span style="text-transform: uppercase"><u>FORMULAIRE DE CONTACT</u></span></h3> <p align="center">Votre message vient d'être <b><u>envoyé</u></b> !</p></p> <form method="POST" action="SendMessage.php" name="Send"> <p align="center"> <a href="javascript:history.back(-2)"><font color="#000000">Revenir en arrière</a></font> </p> <p align="center"> <A href="javascript:window.close()"><font color=#990000"><b>QUITTER</b></font></A> </p> </form> </body>
Modifié avec ajour du code indiqué :
Il y a tant de code dans la page indiquée dans votre lien, que je suis perdu.
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 <?php if (get_magic_quotes_gpc()) { $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST); while (list($key, $val) = each($process)) { foreach ($val as $k => $v) { unset($process[$key][$k]); if (is_array($v)) { $process[$key][stripslashes($k)] = $v; $process[] = &$process[$key][stripslashes($k)]; } else { $process[$key][stripslashes($k)] = stripslashes($v); } } } unset($process); } ?> $Message = $_POST["Message"]; // On récupére le contenus du textarea de VerifMessage.php $TO = "amis.saintnizier@gmail.com"; // Adresse email ou vous allez recevoir le/les message(s). $h = "From: " . "lyon.amissaintnizier.free.fr"; // Entrer l'adresse de votre site ou l'adresse email de votre site. $message = ""; // Lesser vide. $subject = "Nouveau Message"; //Sujet du mail que vous allez recevoir. while (list($key, $val) = each($HTTP_POST_VARS)) { // Ne pas touchez ! $message .= "$key : $val\n"; // Ne pas touchez ! } mail($TO, $subject, $message, $h); // Ne pas touchez ! ?> <html> <link type="text/css" rel="stylesheet" href="page.css"> <head> <meta http-equiv="Content-Language" content="fr"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>FORMULAIRE DE CONTACT</title> </head> <body style=" background-color: #ffffcc;font-family: Arial;"> <h3 align="center"><span style="text-transform: uppercase"><u>FORMULAIRE DE CONTACT</u></span></h3> <p align="center">Votre message vient d'être <b><u>envoyé</u></b> !</p></p> <form method="POST" action="SendMessage.php" name="Send"> <p align="center"> <a href="javascript:history.back(-2)"><font color="#000000">Revenir en arrière</a></font> </p> <p align="center"> <A href="javascript:window.close()"><font color=#990000"><b>QUITTER</b></font></A> </p> </form> </body>
Fait seulement
Code : Sélectionner tout - Visualiser dans une fenêtre à part $Message = stripslashes($_POST["Message"]);
Partager