Vous n'êtes pas identifié(e).
Bonjour,
j'ai pose des messages sur ce forum
Je suis en train de revoir toutes mes bases, ca me fait pas de mal ^^.
Voila actuellement ce que je fais avant d'insérer un enregistrement dans une table :
Cette ligne me transforme tous les caractères spéciaux en entité html, donc plus de ' ou ".
D'ou ma première question, est ce que si j'utilise cela, il est nécéssaire d'utiliser addslash en plus?
Ma seconde question, est ce que mysql_real_escape_string est utilie avec htmlentities? ( je sais que la réponse est oui sinon ca existerai pas. mais pourquoi?)
Et dernière question, comment faut t'il réèlement traiter une chaine avant de l'insérer?
Merci beaucoup
Hors ligne
Salut,
htmlentities convertie non seulement les " et ' mais aussi tous les caractères qui ont des équivalents en entités HTML.
< en <
> en >
etc...
Pour cette raison, je ne pense pas que son utilisation avant insertion en bdd soit une bonne chose, on doit l'utiliser avant affichage.
Pour insertion bdd il faut utiliser mysql_real_escape_string c'est fait pour ça.
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Ou, encore plus meilleur, utiliser PDO avec les requêtes paramétrées et, par exemple, les bind values.
Si, si, ça l'fait.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pour cette raison, je ne pense pas que son utilisation avant insertion en bdd soit une bonne chose, on doit l'utiliser avant affichage.
Pour insertion bdd il faut utiliser mysql_real_escape_string c'est fait pour ça.
Pourquoi ne pas le faire avant si il faut le faire aprés cela revient au même non?
Pour l'insertion, juste mysql_real_escape_string suffit? pas de addslashe ou autre?
Hors ligne
mcAllan a écrit :Pour cette raison, je ne pense pas que son utilisation avant insertion en bdd soit une bonne chose, on doit l'utiliser avant affichage.
Pour insertion bdd il faut utiliser mysql_real_escape_string c'est fait pour ça.Pourquoi ne pas le faire avant si il faut le faire aprés cela revient au même non?
Parceque la BDD n'est qu'un espace de stockage et doit faire abstraction de la sortie envisagée, la sortie n'étant pas toujours une page WEB. Si tu veux faire un export vers un fichier texte ou XML ou encore une impression, il te faudra retraiter le contenu.
Pour l'insertion, juste mysql_real_escape_string suffit? pas de addslashe ou autre?
mysql_real_escape_string fait un peu plus que addslashes et spécialement pour mySql, alors oui c'est mieux.
Edit:
Voir aussi : http://www.phpdebutant.org/article150.php
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Une dernière petite chose
Lors de l'affichage des données, il n'y à pas une fonction inverse de mysql_real_escape_string pour bien afficher les données?
Comme addslash et stripslash?
Merci
Hors ligne