A voir également:
- Accents et Charset dans formulaire PHP
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire instagram compte suspendu - Guide
- Retour a la ligne php ✓ - Forum PHP
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum HTML
4 réponses
il faut utiliser utf8_encode($_POST['xxx'] pour l'insertion dans la base MYSQL et utf8_decode($_POST['xxx'] dans le mail, ca marche très bien j'avais le même problème
IpIpIpIpOne
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
116
13 avril 2009 à 23:31
13 avril 2009 à 23:31
Salut !
Essaye ptet d'utiliser utf8_encode() plutôt qu' utf8_decode, ça me parait plus logique. Enfin, je me trompe peut-être !
Cordialement,
IpIpIp Ipone
Essaye ptet d'utiliser utf8_encode() plutôt qu' utf8_decode, ça me parait plus logique. Enfin, je me trompe peut-être !
Cordialement,
IpIpIp Ipone
Bonjour IpIpIpIpOne,
Merci de ton aide, j'ai remplacé tous mes utf8_decode() par des utf8_encode(), mais je crois que c'est encore pire... :/
Voici le résultat obtenu, sur une seule ligne (Alors que j'ai tapé des entrées dans mon textarea...) :
Monsieur Toto, entreprise TotoCorp, vous a laissé un message : Petit test encore sur les accents :\r\n\r\nààééùù
Heeelp =(
Merci de ton aide, j'ai remplacé tous mes utf8_decode() par des utf8_encode(), mais je crois que c'est encore pire... :/
Voici le résultat obtenu, sur une seule ligne (Alors que j'ai tapé des entrées dans mon textarea...) :
Monsieur Toto, entreprise TotoCorp, vous a laissé un message : Petit test encore sur les accents :\r\n\r\nààééùù
Heeelp =(
Alors, petite nouveauté :
Je viens de mettre toute la page en ISO-8859-1, et j'ai viré toute fonction encode / decode en utf8.
J'obtiens un résultat plus propre, mais malheureusement j'obtiens toujours des \n \r dans mon mail...
Y'a t'il un rapport avec ma fonction htmlspecialchars? Ou bien ma fonction nl2br est t'elle mal placée?
Pour rappel :
$message_envoi = nl2br(mysql_real_escape_string(htmlspecialchars($_POST['message_envoi'])));
Et voici ce que j'obtiens :
Monsieur Toto2, entreprise TotoCorp, vous a laissé un message : Encore petit test :) :) :)\r\n\r\nééààùùè
Je viens de mettre toute la page en ISO-8859-1, et j'ai viré toute fonction encode / decode en utf8.
J'obtiens un résultat plus propre, mais malheureusement j'obtiens toujours des \n \r dans mon mail...
Y'a t'il un rapport avec ma fonction htmlspecialchars? Ou bien ma fonction nl2br est t'elle mal placée?
Pour rappel :
$message_envoi = nl2br(mysql_real_escape_string(htmlspecialchars($_POST['message_envoi'])));
Et voici ce que j'obtiens :
Monsieur Toto2, entreprise TotoCorp, vous a laissé un message : Encore petit test :) :) :)\r\n\r\nééààùùè
Re bonjour tout le monde,
Je pense avoir résolu mon problème, mais il laisse place à un nouveau problème... :/
Lors du traitement de mon message dans le textarea, j'ai supprimé le mysql_real_escape_string(), ce qui supprime mes \n et \r dans le mail reçu, et je peux donc voir mes retour à la ligne.
Voici la ligne de code qui traite mon message :
Maintenant, mon problème est le suivant : Comment sécuriser ma BDD tout en gardant mes retours chariot dans le message ?
Je pense avoir résolu mon problème, mais il laisse place à un nouveau problème... :/
Lors du traitement de mon message dans le textarea, j'ai supprimé le mysql_real_escape_string(), ce qui supprime mes \n et \r dans le mail reçu, et je peux donc voir mes retour à la ligne.
Voici la ligne de code qui traite mon message :
$message_envoi = utf8_decode(trim(nl2br(htmlspecialchars($_POST['message_envoi']))));
Maintenant, mon problème est le suivant : Comment sécuriser ma BDD tout en gardant mes retours chariot dans le message ?
Y'a un truc que j'ai pas pigé dans ce que tu dis.
mysql_real_escape_string() s'utilise avant l'insertion dans une table, pas pour l'envoi d'un email...
mysql_real_escape_string() s'utilise avant l'insertion dans une table, pas pour l'envoi d'un email...