Contenu en base de données

querydb12
Invité n'ayant pas de compte PHPfrance

23 avr. 2008, 21:03

Bonsoir,

Je voudrais enregistrer des données en base mais sans convertir les caractères...

Les caractères ', ", \, / etc...

Je voudrais qu'ils soient sauvegardées telles quelles... De plus, si l'utilisateur rentre <p> test <br /> bla bla </p>, je ne voudrais pas que les balises html soient interprétées par le navigateur.

Comment puis-je faire cela sans risque au niveau des requêtes SQL ? (piratage, etc...)

Je vous remercie pour vos réponses.

Mammouth du PHP | 531 Messages

23 avr. 2008, 21:17

Salut

Tu n'a rien de spéciale a faire pour que les balises ne soient pas converties en entités html je pense.
Par contre il va falloir effectivement prendre des précautions... je ne sais pas si un addslashes() suffit...

Sinon pour ne pas interpréter le code à l'affichage je crois que c'est avec la balises <pre> ou <code>... ou les deux.

querydb12
Invité n'ayant pas de compte PHPfrance

24 avr. 2008, 09:39

Salut,

merci pour tes réponses... Le addslashes ne va pas enregistrer en base les signes \ ?

Merci !

Mammouth du PHP | 531 Messages

24 avr. 2008, 09:42

Salut,

merci pour tes réponses... Le addslashes ne va pas enregistrer en base les signes \ ?

Merci !
Si mais quand tu les sort tu fait un stripslashes pour les enlever.
Sinon il y a aussi avec mysql_real_escape_string qui je crois ne t'enregistrera pas les \

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2008, 13:20

Oui mais le problème c'est que si j'attaque ma base avec un autre langage par exemple je vais devoir gérer les \.

Je voudrais éviter toutes ces contraintes en fait.

:o)

querydb12
Invité n'ayant pas de compte PHPfrance

24 avr. 2008, 13:21

Pardon je n''avais pas vu pour le mysql_real_escape_string, je vais essayer alors !

Merci !