Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/12/2012, 10h42   #1
Thanor
Nouveau Membre du Club
 
Homme Guillaume Dijon
Développeur informatique
Inscription : avril 2005
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Dijon
Âge : 29
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : avril 2005
Messages : 120
Points : 30
Points : 30
Envoyer un message via AIM à Thanor Envoyer un message via MSN à Thanor
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...
Thanor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 10h55   #2
kabkab
Membre chevronné
 
Inscription : janvier 2007
Messages : 691
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 691
Points : 621
Points : 621
Bonjour,
Un bout de code serait le bienvenue. Le Post (seul) n'interdis pas le passage de ;
kabkab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 11h11   #3
Thanor
Nouveau Membre du Club
 
Homme Guillaume Dijon
Développeur informatique
Inscription : avril 2005
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Dijon
Âge : 29
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : avril 2005
Messages : 120
Points : 30
Points : 30
Envoyer un message via AIM à Thanor Envoyer un message via MSN à Thanor
Code :
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) ...
Thanor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 12h16   #4
bastien27100
Membre du Club
 
Homme bastien lucas
Développeur .NET
Inscription : mars 2012
Messages : 50
Détails du profil
Informations personnelles :
Nom : Homme bastien lucas
Âge : 24
Localisation : France, Eure (Haute Normandie)

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

Informations forums :
Inscription : mars 2012
Messages : 50
Points : 64
Points : 64
bonjour,

Si tu entre un texte en dur avec des ; dans la variable $texte ( ex : $texte='Hello; world'; ) le problème persiste ?
bastien27100 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 12h23   #5
Fench
Expert Confirmé
 
Avatar de Fench
 
Homme
Chercheur en informatique
Inscription : mai 2002
Messages : 2 346
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 346
Points : 3 231
Points : 3 231
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)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 12h40   #6
kabkab
Membre chevronné
 
Inscription : janvier 2007
Messages : 691
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 691
Points : 621
Points : 621
Bonjour,
Jettes un oeil ici :http://a-pellegrini.developpez.com/tutoriels/php/mail/
kabkab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 14h06   #7
Thanor
Nouveau Membre du Club
 
Homme Guillaume Dijon
Développeur informatique
Inscription : avril 2005
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Dijon
Âge : 29
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : avril 2005
Messages : 120
Points : 30
Points : 30
Envoyer un message via AIM à Thanor Envoyer un message via MSN à Thanor
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.
Thanor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 14h34   #8
Thanor
Nouveau Membre du Club
 
Homme Guillaume Dijon
Développeur informatique
Inscription : avril 2005
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Dijon
Âge : 29
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : avril 2005
Messages : 120
Points : 30
Points : 30
Envoyer un message via AIM à Thanor Envoyer un message via MSN à Thanor
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 !
Thanor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 14h59   #9
bastien27100
Membre du Club
 
Homme bastien lucas
Développeur .NET
Inscription : mars 2012
Messages : 50
Détails du profil
Informations personnelles :
Nom : Homme bastien lucas
Âge : 24
Localisation : France, Eure (Haute Normandie)

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

Informations forums :
Inscription : mars 2012
Messages : 50
Points : 64
Points : 64
Ok! bonne continuation
bastien27100 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h46.


 
 
 
 
Partenaires

Hébergement Web