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 :

antislashes parasistes dans les données de mon formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Points : 97
    Points
    97
    Par défaut antislashes parasistes dans les données de mon formulaire
    Salut à tous !

    Bon voilà, sur mon site chez FREE, j'ai programmé un module qui permet aux visiteurs de m'envoyer un email (module de contact, en somme).

    Bon le script marche bien, mais le pb, c'est qu'il y a un slash avant toutes les apostrophes. ex : l'arbre devient : l\'arbre...

    comment solutionner cela ??? Ca me permettrai de faire mon programme de newsletter ...

    Merci d'av, @+

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu peux nous montrer ton code qui envoie les emails ?
    Par ailleurs est ce que "magic_quotes_gpc" est activé sur ton serveur (ca sera indiqué dans ton phpinfo())

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Points : 97
    Points
    97
    Par défaut
    j'espère que tu peux lire :

    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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    <?php
    $valid = "Envoyer !"; // Le texte affiché sur le bouton de validation
    $msg_ok = "~ Message Envoyé ~"; // Le message renvoyé au visiteur si son message est envoyé
    $adr = "paleosource@free.fr"; // L'adresse du destinatire (webmaster...)
     
    // Ne touchez pas au reste !!!
     
    $entetes = "";
    $entetes .= "From: \"Visiteur PALEOSOURCE\" <paleosource@free.fr>\r\n";
    $entetes .= "X-Priority: 2\r\n";
     
    $val = $_REQUEST['val'];
    $lien = "index.php?op=contact&val=1";
    if ( $val != 1 ) {
     
    print <<<MORCEAU
    
    <form name="quickmail" enctype="multipart/form-data" method="post" action="$lien">
    
    <b>Objet :&nbsp;&nbsp;&nbsp;</b>
    
    <input type="text" name="qm_objet" size="34">
    <br>
    
    <b>Votre mail :&nbsp;&nbsp;&nbsp;</b>
    
    <input type="text" name="adrmail" size="34" value="">
    <br>
    
    <b>Votre message :</b>
    <br>
    <textarea name="qm_msg" cols="40" rows="8"></textarea>
    <br>
    <input type="submit" name="qm_ok" value="$valid">
    <input type="reset" name="qm_res" value="Tout effacer">
    </form>
    
    MORCEAU;
    }
     
    // CODE PUR
     
    else {
     
    $obj = $_REQUEST['qm_objet'];
    $msg = $_REQUEST['qm_msg'];
    $adrmail = $_REQUEST['adrmail'];
    $adrmail2 = "Ce message vous a été envoyé par l'adresse : $adrmail";
    $msg2 = "$adrmail2 \n\n - message - \n\n $msg ";
     
    if ( $obj == "" or $msg == "" or $adrmail == "") 
    {
    print <<<PB
    
    
    <script language="JavaScript">
    alert('Vous n\'avez pas rempli totalement le formulaire pour envoyer le message. Complétez le maintenant.');
    </script>
    
    <form name="quickmail" enctype="multipart/form-data" method="post" action="$lien">
    
    <b>Objet :&nbsp;&nbsp;&nbsp;</b>
    
    <input type="text" name="qm_objet" size="34" value="$obj">
    <br>
    
    <b>Votre mail :&nbsp;&nbsp;&nbsp;</b>
    
    <input type="text" name="adrmail" size="34" value="$adrmail">
    <br>
    
    <b>Votre message :</b>
    <br>
    <textarea name="qm_msg" cols="40" rows="8">$msg</textarea>
    <br>
    <input type="submit" name="qm_ok" value="$valid">
    <input type="reset" name="qm_res" value="Tout effacer">
    </form>
    
    </font>
    
    PB;
     
    }
     
    else {
     
    print <<<VALID
    
    $msg_ok
    
    VALID;
     
    // Envoi php
     
    $envoi = mail($adr,$obj,$msg2,$entetes);
    }
    }
     
    ?>
    pour les magicquotes je vérifie atta

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Points : 97
    Points
    97
    Par défaut
    Résolu !!!

    Merci à koopajah, qui m'a aidé sur le chat ^^ !

    La solution consistait (rhâa pourquoi ne l'ai-je pas fait) à utiliser la fonction stripslashes comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $msg = $_REQUEST['monmessage'];
    $msg = stripslashes($msg);
    En effet la variable magic_quote_gpc était active (on).

    Merci!

  5. #5
    Membre confirmé Avatar de alexp
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    459
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 459
    Points : 532
    Points
    532
    Par défaut
    ajoute ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_REQUEST['qm_msg'] = stipslashes($_REQUEST['qm_msg']);
    avant cetta ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $msg = $_REQUEST['qm_msg'];
    ça desactivera l'ajout d'antislashes avant les '

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Envoyer les donnés du mon formulaire a la base de données
    Par karimna dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/04/2015, 16h12
  2. [AC-2003] Afficher les données de mon formulaire dans un état
    Par fonfek24 dans le forum IHM
    Réponses: 18
    Dernier message: 05/08/2011, 10h14
  3. Comment récupérer les données de mon formulaire?
    Par kaselander dans le forum Langage
    Réponses: 27
    Dernier message: 02/03/2009, 17h03
  4. [ezPDF] Récupérer les données d'un formulaire dans mon pdf
    Par Lenalyon dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 28/04/2008, 16h38
  5. Réponses: 6
    Dernier message: 06/06/2006, 12h46

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