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] mail()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 89
    Par défaut [Mail] mail()
    Bonjour

    J'un formulaire avec une zone "textarea".

    Dans le script php de traitement de ce formulaire, j'envoie par email le contenu du formulaire. mail($destinataire,$sujet,$_POST['formulaire_textarea'],"from:toto@toto.toto");

    Tout marche bien, l'email est délivré, par contre, si dans la zone de saisie du message, il y a le caractere apostrophe ', dans l'email (envoyé en mode texte et non html), c'est recu comme \' (slash suivi du caractere apostrophe).

    Je ne sais pas d'ou cela provient...

    Une idée?

    Merci

  2. #2
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    essai en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $message=$_post['formulaire_textarea'];
    $message=htmlentities($message);
    $message=nl2br($message);
     
    mail($destinataire,$sujet,$message,"from:toto@toto.toto");

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 89
    Par défaut
    J'ai essayé

    Ca ne corrige pas le probleme, de plus les caracteres accentués sont codés genre : "&eacute".



    (je rappelle que les messages sont en format brut, et il semblerait que les fonctions ci dessus au contraire les convertisse en html...)

  4. #4
    Membre éclairé
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Par défaut
    dj-julio : Ca c'est pour des messages HTML

    Tu n'as pas essayer d'anti slasher ton body avant de l'envoyer avec la fonction addslaches de PHP ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mail(
    $destinataire,
    $sujet,
    addslashes($_POST['formulaire_textarea']),
    "from:toto@toto.toto");
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  5. #5
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Salut

    Essaie d'attribuer un nom à ton textarea.
    Par exemple : message

    Ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($destinataire,$sujet,$message,"from:toto@toto.toto");

  6. #6
    Membre éclairé
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Par défaut
    alain31tl : Je ne pense pas que cela risque de changer son problème.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  7. #7
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    oui voila addslaches c'est à ça que je pensais ptdr
    désolé pour la mauvaise info

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 89
    Par défaut
    ben avec addslashes c'est pire

    par exemple si dans la zone texte je tappe l'essai

    ca donne :l\\\'essai

    ca m'en rajoute au lieu d'en supprimer

  9. #9
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Salut,

    C'est plutôt stripslashes()
    Et pour le problème d'accent, utf8_decode() fera surement l'affaire.

  10. #10
    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
    En effet c'est stripslashes, et ceci est du à la coniguration de ton php.ini, magic_quotes_gpc est à on, ce qui fait qu'addslashes est automatiquement appliqué à toute donnée provenant de l'extérieur (ton formulaire par exemple)

    Pour faire les choses proprement, je te conseille de tester dans ton script si magic_quotes est à on ou pas afin d'appliquer ou non le stripslashes, car ce parametre dépend du serveur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (get_magic_quotes_gpc()) {
      $_POST['formulaire_textarea'] = stripslashes($_POST['formulaire_textarea']);
    }
    mail(......);
    HTH

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 89
    Par défaut
    Ca marche à merveille !!

    Merci merci merci

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

Discussions similaires

  1. [Mail] Mail
    Par Zep3k!GnO dans le forum Langage
    Réponses: 4
    Dernier message: 19/12/2005, 11h50
  2. [Mail] mail html
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2005, 20h49
  3. [Mail] Mail de confirmation
    Par tyarak dans le forum Langage
    Réponses: 9
    Dernier message: 13/11/2005, 10h49
  4. Réponses: 4
    Dernier message: 01/10/2005, 13h52
  5. [Mail] Mail mime
    Par maxnad dans le forum Langage
    Réponses: 5
    Dernier message: 07/09/2005, 17h11

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