8798 sujets

Développement web côté serveur, CMS

Bonjour,

J'utilise la fonction mysql_real_escape_string lors d'un remplissage de formulaire avec envoi en $_POST. En base de données, lorsqu'on rajoute une image dans le champ, j'ai bien le code suivant :

<img height=\"422\" width=\"579\" src=\"userfiles/deleg.png\" />


Cependant lors de l'affichage sur ma page, le code n'est pas bon :

<img height="422" width="579" src="\"userfiles/deleg.png\"" />


J'ai utilisé 3 façon différentes, avec le même résultat :

1/
$texte = stripslashes($texte);

2/
$texte = mysql_real_escape_string(stripslashes($texte));

3/
$texte = mysql_real_escape_string(htmlspecialchars($texte));

Est-ce que quelqu'un pourrait m'éclairer sur ce problème ?

Merci
Modifié par artmaniac (26 May 2009 - 10:26)
Salut,

artmaniac a écrit :
Est-ce que quelqu'un pourrait m'éclairer sur ce problème ?
Oui : mysql_real_escape_string ne sert qu'au moment d'enregistrer (INSERT ou UPDATE) les données dans ta base mais il n'a rien à faire là au moment de l'affichage html. Un simple htmlspecialchars devrait amplement suffire.
Salut,

Heyoan a écrit :
mysql_real_escape_string ne sert qu'au moment d'enregistrer (INSERT ou UPDATE) les données dans ta base

Permets-moi de te corriger, il sert aussi lors des SELECT (certes pas lors de l'affichage des données elles-mêmes), pour éviter toute injection SQL.