Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/06/2007, 09h51   #1
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Par défaut Interprétation des espaces ET des apostrophes

Bonjour à tous,

Voilà j'ai un textarea dans un formulaire.
Je le valide : ça fonctionne
Je l'affiche en "text" ça fonctionne.
Mais quand je réaffiche cette variable dans un textarea pour modification j'arrive soit à interpréter les espaces, soit les apostrophes mais pas les deux.
Quand je le remplis avec par exemple :
problème d'apostrophe
j'ai deux solutions :

SOIT je passe la variable :
Code :
1
2
3
 
echo"	<input type='hidden' name=Description value=$Description>
";
Donc sans être encadré par des '
Et du coup il m'écrit dans le textarea : pb
Du coup il n'interprête pas l'espace

SOIT je le met entre ' et à ce moment là il m'écrit pb d

Aidez moi svp, je ne comprends plus !!
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h01   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Code :
1
2
echo"	<input type='hidden' name=Description value=\"$Description\">
";
Je pense qu'un htmlspecialchars() serait peut-être plus propre car si tu as des double-quotes le probleme se reposera.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h11   #3
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Ok merci je viens de l'appliquer grâce à la réponse d'une autre personne qui avait la même solution que toi, et ça fonctionne.
Maintenant mon problème c'est que quand je reviens à la ligne, dans mon textarea il interprète en affichant des <br> et c'est pas très propre.
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h20   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
as-tu bien utilisé htmlspecialchars() ? parce que j'ai vu que dans l'autre post on te conseille htmlentities() et celle-ci convertit effectivement TOUS les caractères en entités html contrairement a htmlspecialchars().
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h36   #5
Membre régulier
 
Étudiant
Inscription : juin 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 83
Points : 84
Points : 84
Ca change quelque chose d'utiliser htmlentities ou htmlspecialchars pour afficher dans un input ? htmlentities m'a jamais posé de problème
Wharenn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h39   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
dans un input peut etre pas, mais le message parle d'un textarea (meme si c'est un input dans son exemple), et comme elle a un probleme avec les <br> je suppose que le htmlentities pose probleme.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h55   #7
Membre régulier
 
Étudiant
Inscription : juin 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 83
Points : 84
Points : 84
Oui justement, c'est pas très clair si il s'agit d'un input ou d'un textarea. Dans le doute vaut mieux choisir htmlspecialchars
Wharenn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h56   #8
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
C'est bon j'ai remplacé par des htmlspecialchars, mais quelle est la différence ?
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 11h00   #9
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Il suffit de lire les documentations respectives des deux fonctions :
htmlspecialchars()
htmlentities()

La première ne remplace qu'une toute petite partie des caractères (les quotes, les doubles quotes, le &, ainsi que < et >) tandis que la seconde remplace tous les caractères spéciaux en entités html.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h50.


 
 
 
 
Partenaires

Hébergement Web