2009-10-27 2 views
1

J'ai créé un formulaire qui stocke des champs de texte libre dans une base de données MySQL.Comment préserver le lien hypertexte lors de la soumission via la forme php dans MySQL

Tout fonctionne correctement et les données sont affichées comme prévu lorsqu'elles sont affichées. Sauf pour un niggle.

Pour tenter d'empêcher les attaques malveillantes, j'ai utilisé mysql_real_escape_string pour supprimer tout code indésirable de l'entrée.

Cependant, je dois être capable de préserver les hyperliens et le HTML de base.

Par exemple, je veux stocker les éléments suivants:

<p align="left">Please follow this <a href="link.html">link</a></p>

Mais le lien est stocké comme \ « lien.html \ » que les guillemets sont échappés.

Comment puis-je conserver ce lien et d'autres html?

Un grand merci

TT

Répondre

0

Vous pouvez utiliser la fonction PHP stripslashes pour enlever l'échappement des barres obliques des citations:

echo stripslashes($textos); 
+0

Cela a fait l'affaire. Savait que ce serait simple. Merci de votre aide. – TheTub

+1

Alors que cela fonctionne, la solution * real * est de désactiver magice_quotes_gpc dans votre php.ini. – staticsan

2

Cela ressemble à vous citer deux fois la chaîne. Avez-vous désactivé magic_quotes_gpc dans votre php.ini?

1

Ce n'est pas mysql_real_escape_string() le faire - je soupçonne que c'est en fait magic quotes

0

En utilisant PHP5, la meilleure façon est d'utiliser des instructions préparées avec l'extension PDO - cela gère tout pour vous.

Questions connexes