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 ?
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
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
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels 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"]);
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Bonjour et désolé, mais il n'y a rien de mieux. J'ai en fait un \ lors de la vérification, et \\\ dans le message arrivé dans la boite Mail.
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 <?php $Message = stripslashes($_POST["Message"]); // On récupére le contenus du textarea de VerifMessage.php $TO = "philippe.gormand@free.fr"; // 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>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager