mysql_real_escape_string et compagnie
Bonjour,
Voila, j'ai un formulaire avec un champ 'gamename'.
Le formulaire envoi a une page de vérification 'verifFormulaire.php'.
Dans cette page, je récupère le nom du membre avec :
Code:
1 2
| $_SESSION['gamename'] =
mysql_real_escape_string(htmlentities($_POST['gamename'])) |
Ensuite, je vérifie si la valeur de $_SESSION['gamename'] est dans la base via :
Code:
...`gamName` LIKE '%".$_SESSION['gamename']."%'...
et je récupère la liste des jeux.
En haut de cette liste j'affiche :
Code:
echo 'Jeux contenant : '.stripslashes($_SESSION['gamename']);
Et éventuellement, je remet le texte entrer en valeur par défaut
Code:
1 2
| echo '<input type="text" name ="gamename'"
value=" '.stripslashes($_SESSION['gamename']).' "> |
Si j'entre un ' dans le champ 'gamename', j'obtient bien la liste des jeux contenant ' dans le nom, et cela affiche Jeux contenant " ' ".
si j'entre : <a href="nonSite">test</a>, j'obtient aucun jeux donc c'est normal, et cela affiche Jeux contenant "<a href="nonSite">test</a>"
Donc
1) Suis-je bien protéger de cette façon contre les injonctions sql ?
2) Faut-il protéger l'envoi de donnée via une liste déroulante pré-rempli, il me semble que non, mais...
3) la fonction addslash dans tout ça, elle sert a quoi ? sachant que tout les champs texte des formulaires sont nécessairement lié a une base de donnée dans mon cas.
Merci,