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 :

Chaines et ";" [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 121
    Points : 65
    Points
    65
    Par défaut Chaines et ";"
    Bonjour,

    J'ai une question toute bête, j'ai parcouru un peu les forums et divers sites mais pas trouvé de vraie réponse alors j'espère qu'ici vous pourrez m'éclairer.

    Sur un serveur j'ai un script php pour envoyer des mails. J'ai une variable $message qui sert à récupérer le texte du message que je dois envoyer, je le récupère de cette façon : $message = $_POST['Message'].

    Le problème est que lorsque la chaine contient un ";", le message est tronqué, et le mail reçu au final s'arrête là où il y a le ";".

    Est-ce au niveau de mon script php que je dois effectuer quelque chose, si oui quoi, ou bien est-ce en amont, dans le logiciel client, où je dois formater la chaine envoyée au script différemment dans le cas où il y a un ";" ?

    Merci de m'éclairer...

  2. #2
    Membre éprouvé
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 808
    Points : 912
    Points
    912
    Par défaut
    Bonjour,
    Un bout de code serait le bienvenue. Le Post (seul) n'interdis pas le passage de ;

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    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
     
    $passage_ligne = "\r\n";
     
    $texte   = $_POST['Texte'];
    $email = $_POST['Email'];
    $objet = $_POST['Objet'];
    $adressemail = $_POST['Destinataire'];
     
    $headers = 'From:'.$email.$passage_ligne;
    $headers.= 'Reply-To:'.$email.$passage_ligne;
     
    $corps = $texte.$passage_ligne;
     
    ...
     
    mail($adressemail,$objet,$corps,$headers);
    Et à la réception, le message est tronqué s'il s'avère qu'il y a un ";" dans le contenu du message ($corps) ...

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 50
    Points : 71
    Points
    71
    Par défaut
    bonjour,

    Si tu entre un texte en dur avec des ; dans la variable $texte ( ex : $texte='Hello; world'; ) le problème persiste ?

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    A mon avis ton message est mal encapsulé ...

    Ton header du mail se résume aux deux lignes de ton code ?
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Membre éprouvé
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 808
    Points : 912
    Points
    912

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    Alors :

    @bastien27100 : Non en effet dans ce cas la chaîne est correctement affichée avec le ";" sans être tronquée ...

    @kabkab : je viens de regarder, j'ai donc testé avec stripslashes() et htmlentities(), ça ne change rien

    @French : dans le cas d'un message sans pièce jointe oui il n'y a que ça.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    Bon j'ai trouvé ... C'était un problème de code dans l'appli cliente, qui se charge de constituer les paramètres à passer au script ... il était question quelque part d'une analyse syntaxique d'une chaine en prenant comme séparateur un ";" .... donc forcément si dans le message il y avait un ";" et bien l'analyse syntaxique le prenait comme un séparateur et du coup ça tronquait la chaine ici. Donc aucun problème sur le script...

    Désolé, merci pour vos réponses !

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 50
    Points : 71
    Points
    71
    Par défaut
    Ok! bonne continuation

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

Discussions similaires

  1. regexp chaine avec des quotes
    Par Alkhan dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 25/08/2008, 11h40

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