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] Retours chariots de la valeur d'un champ mysql interprétés deux fois


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
    Octobre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 48
    Par défaut [Mail] Retours chariots de la valeur d'un champ mysql interprétés deux fois
    Bonjour,

    Mon but étant d'envoyer des emails par PHP, j'ai stocké des chaines dans ma base MySql. Certaines d'entre-elles contiennent des retours chariots (passage à la ligne).

    Lorsque je met la variable dans la fonction mail(), au lieu de passer 1 ligne, il en passe 2 !

    Sur mon précédent serveur, ça ne le faisait. D'où mon idée que c'est un réglage quelque part...

    On prend l'exemple de la signature de bas d'emails :

    Dans mysql, j'ai le champ suivant "signature"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monnom(enter)
    monadresse(enter)
    montel
    Je récupère la variable $signature, et je construit mon mail()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail("email@email.net", "sujet", "$signature");
    Normalement le corps de l'email devrait faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monnom
    monadresse
    montel
    Mais il fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    monnom
     
    monadresse
     
    montel
    Je dois ajouter ceci :
    - Il fait ça uniquement lorsqu'il y a des retours chariots dans le champ sql
    - Il fait ça uniquement avec mail(). L'affichage navigateur est OK
    - Je viens de changer d'hébergeur. Chez le précédent hébergeur ça ne le faisait pas : il apparaissait exactement comme dans la base mySQL.

    Ce qui m'amène à penser que c'est un réglage php peut-être ?

    Merci de votre aide très précieuse, car je suis assez embêté.

    Seb

  2. #2
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Je crois que ça dépend si le serveur est sur windows ou linux. Il me semble qu'ils gère le retour chariot de manière différente.
    Coté php le retoure chariot chr(10).chr(13) ou l'inverse
    A tester

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 48
    Par défaut
    Citation Envoyé par berceker united Voir le message
    Je crois que ça dépend si le serveur est sur windows ou linux. Il me semble qu'ils gère le retour chariot de manière différente.
    Coté php le retoure chariot chr(10).chr(13) ou l'inverse
    A tester
    Excuse mais je suis novice.

    Si ma chaine est $chaine, quelle est est la syntaxe avec ce que tu me proposes ?

    Je confirme que les deux serveurs (l'ancien et le nouveau) sont sur linux.

    En tous cas, merci pour ta réponse !
    vince

  4. #4
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Là il faut tenter de détecter les retours chariots. Moi je pense qu'il en place deux. \n\r ou \r\n ça équivaut à chr(10) et 13. Utilise la fonction str_replace(...) pour tester si tu le détectes et le remplacer au format que tu veux.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 48
    Par défaut
    Bonjour et grand merci : ça marche !

    Pour ceux que ça peut intéresser, voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $welcomeemail = str_replace("\n","",$welcomeemail);
    Encore une fois, vous m'avez bien sorti de la ... !

    Bonne soirée et encore merci.


    Citation Envoyé par berceker united Voir le message
    Là il faut tenter de détecter les retours chariots. Moi je pense qu'il en place deux. \n\r ou \r\n ça équivaut à chr(10) et 13. Utilise la fonction str_replace(...) pour tester si tu le détectes et le remplacer au format que tu veux.

  6. #6
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Donc c'est une affaire résolu

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/10/2010, 08h20
  2. [MySQL] Problème d'organisation : plusieurs valeurs dans un champs mysql
    Par nuitn0ire dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 23/03/2010, 22h08
  3. [Mail] Retours chariot pour l'entête des e-mails
    Par lemilig dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2007, 20h05
  4. [Mail] Retour chariot dans textearea
    Par teumm dans le forum Langage
    Réponses: 8
    Dernier message: 27/03/2007, 17h52
  5. Tableau : retour chariot après chaque valeur
    Par kafifi dans le forum Langage
    Réponses: 3
    Dernier message: 13/07/2006, 17h54

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