IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Caractères non respectés dans une saisie de formulaire.


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Caractères non respectés dans une saisie de formulaire.
    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.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    De quelle manière constates-tu le problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Saisie
    Mon formulaire est composé de trois fichiers.

    1 - Le fichier HTML qui contient les zones de saisie.
    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
              :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <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 : &nbsp; &nbsp; &nbsp; &nbsp;
              &nbsp;&nbsp; <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">&nbsp;<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>
    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
    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>
    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
    <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">&nbsp;<?php echo "$Email"; ?></p>
    	<p align="center">&nbsp;<?php echo "$Pseudo"; ?></p>
    	<p align="center">&nbsp;<?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 \\'

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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

  5. #5
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Points : 21
    Points
    21
    Par défaut 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é :
    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>
    Il y a tant de code dans la page indiquée dans votre lien, que je suis perdu.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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

  7. #7
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Août 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Août 2014
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Rien de mieux
    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>

Discussions similaires

  1. Caractère non valide # dans une requete
    Par ninou58 dans le forum Langage
    Réponses: 3
    Dernier message: 24/06/2009, 13h38
  2. Formulaire non ouvrable dans une nouvelle fenetre
    Par kangaxx dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/10/2007, 17h05
  3. Réponses: 7
    Dernier message: 24/03/2007, 18h10
  4. Problème de caractères non latin dans un formulaire
    Par Huntress dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 13h34
  5. [PHP-JS] Formulaire non trouvé dans une fonction
    Par philippe30 dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2005, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo