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 :

[Mail] Apostrophe dans l'email


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut [Mail] Apostrophe dans l'email
    Bonjour,

    J'ai créé un formulaire contact qui permet de recevoir les informations des personnes.
    Je l'ai traite dans le bout de code suivant :
    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
    <?php
    // affichage dans le mail
    $message.=$_POST[nom]." ".$_POST[prenom]."\n";
    $message.=$_POST[adresse]."\n";
    $message.=$_POST[code_postale]." ".$_POST[ville]."\n";
    $message.=$_POST[telephone]."\n";
    $message.=$_POST[fax]."\n";
    $message.=$_POST[email]."\n";
    $message.=$_POST[demande]."\n";
    $entetemail='From: '.$_POST[email];
    // $entetemail.='Reply-To:$from_email\n';
    $melfab = 'contact@environnementweb.com';
    $sujetmel = 'Atlantis-System-Pack / formulaire CONTACT ';
    mail($melfab,$sujetmel,$message,$entetemail);
    ?>
    Le seul soucis c'est si une des variables contient une apostrophe je reçois dans mon mail par exemple :
    rue de l\avion au lieu de
    rue de l'avion

    Comment faire ?

  2. #2
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    avec stripslashes() peut-etre?

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    Tu as quoi dans tes variables $_POST (après quelques echo) ?

    Nan parceque je veux bien dire que stripslashes corrigerait des problèmes mais apparement la valeur de ta variable n'a pas d'appostrophe échappée...

    Tu ne ferais pas des validations de tes entrées de formulaire par hasard, où par exemple tu remplacerais les apostrophes par des \' avec str_replace() ?

    d'ailleurs, c'est plus sympa de mettre $_POST['nom'] <= avec les apostrophes justement

  4. #4
    Membre éclairé Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Par défaut
    Il existe, à ma connaissance, une paramétrie de PHP ( vraisemblablement dans le php.ini ) qui est contenu dans :

    ; Magic quotes
    ;

    ; Magic quotes for incoming GET/POST/Cookie data.
    magic_quotes_gpc = On

    Et qui gère l'antislashage (!?) en auto des caractères spéciaux ...

    C'est ce qui doit t'ajouter tes '\' ...

  5. #5
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut
    dans mes variables j'ai mes données du formulaire que j'envoie dans l'email.
    Jean Dupont
    rue de l'aviation
    75000 Paris...

  6. #6
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    et tu as regardé sur quoi était positionné la variable magic_quote_gpc dans le php.ini ?

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Non testé, à placer au début du script:
    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
    function my_stripslashes($var) {
       if (get_magic_quotes_gpc()) {
          return stripslashes($var);
       } else {
          return $var;
       }
    }
     
    function stripslashes_table($table) {
       foreach($table as $key => $value) {
          if (is_array($value)) {
             $table[$key] = stripslashes_table($table[$key]);
          } else {
             $table[$key] = my_stripslashes($value);
          }
       }
    }
     
    $_POST = stripslashes_table($_POST);

  8. #8
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    ben ça, si c'est pas servi sur un plateau d'or... 8)
    avec recursivité en plus...

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/10/2007, 16h14
  2. Réponses: 6
    Dernier message: 22/05/2007, 09h55
  3. [Mail] Bug d'affichage d'un tableau dans un email
    Par alixe dans le forum Langage
    Réponses: 3
    Dernier message: 22/02/2007, 11h54
  4. [Mail] Formulaire email dans un Email ( Emailing )
    Par Partner dans le forum Langage
    Réponses: 2
    Dernier message: 03/10/2006, 12h29
  5. Réponses: 33
    Dernier message: 12/04/2006, 19h12

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