3 votes

php - textarea- balises html

Je suis novice en matière de programmation avec php. Je l'ai fait : Il y a une zone de texte où l'utilisateur écrit du texte, et il est enregistré dans la base de données. Mais lors de l'énumération des entrées, le texte avec des balises html est affiché comme des éléments html.

Par exemple, "Je suis < b >25< /b > ans" est affiché "Je suis 25 ans".

Je veux le montrer comme ce que l'utilisateur écrit dans la zone de texte, sans appliquer les règles html. Et de ce fait, l'utilisateur ne peut pas rompre plusieurs lignes.

Comment puis-je éviter toutes les propriétés html ? Y a-t-il une fonction ou autre chose qui puisse m'aider ?

2voto

Tim Cooper Points 55292

Passez le contenu posté par htmlentities :

$var = htmlentities($old_var);

Note : vous devez également vous assurer que vous ne vous rendez pas vulnérable à Injection SQL .

0voto

Kevin Glier Points 429

Sauvegardez-le dans la base de données mais échappez chaque valeur qui provient d'un utilisateur pour éviter les injections mysql.

Exemple :

$sqlaction = mysql_query("INSERT INTO posts (text) VALUES ('".mysql_real_escape_string($_POST['text'])."')");

si vous voulez le montrer sur une page, utilisez htmlentities comme ceci :

<div><?php echo htmlentities($row['text']); ?></div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X