afficher html issu BDD

eric8787
Invité n'ayant pas de compte PHPfrance

02 oct. 2008, 12:08

Bonjour,

J'ai bien cherché sur ce forum et pourtant je n'arrive pas à trouver la réponse. Pourriez vous m'aider ?

Alors voilà, je fais un formulaire avec un textarea. Dans ce textarea, je mets du Code HTML.
J'envoi dans la BDD mysql.
dans la BDD j'ai ça :

Code : Tout sélectionner

<img src="../images/motpresident.gif" alt="Le Mot du pr&eacute;sident" />
Puis lorsque je veux afficher le contenu dans une page, le code html n'est pas interprété comme code, mais comme texte. j'ai ça :

Code : Tout sélectionner

<img src="../images/motpresident.gif" alt="Le Mot du pr&eacute;sident" />
Moi ce que je voudrai, c'est l'image qui s'affiche :(

merci de votre aide

eric

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 oct. 2008, 12:20

Le code html qui est enregistré dans ta base de données a été converti en entités html (les < remplacés par > etc.). En général on fait ça lorsqu'il y a un accès publique, pour éviter que des gens ne collent du code html sur des forums ou autres...

Donc tu peux soit dé-html-entitéter (décoder) avec la fonction html_entity_decode() avant l'affichage, ou tout simplement ne pas encoder au moment d'enregistrer dans ta base...

Attention tout de même en fonction de qui à le droit d'enregistrer du code html, un filtre sur les balises autorisées pourrait être interessant (pour éviter que quelqu'un n'envoi des codes javascript ou autre)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

eric87
Invité n'ayant pas de compte PHPfrance

02 oct. 2008, 12:30

merci beaucoup ça marche nickel.

Oui effectivement suivant ton idée ce que j'aimerai, c'est permettre d'ajouter une balise
...
permettant d'ajouter du code en html.

Aurais tu une idée pour faire cela ?

merci

eric