Bonjour,
J'aimerais me servir en PHP de filter_var(), et notamment de son paramètre FILTER_SANITIZE_STRING avant d'écrire dans la base de donnée pour raison de sécurité. Celle-ci est encodée en UTF-8, et ses données sont retranscrites en brut.
J'ai un produit, affiché dans un formulaire HTML. Par exemple (et qui me pose souci) "pâtes d'amandes 50%". Une fois passé par 'FILTER_SANITIZE_STRING' et inscrit dans la base, celui-ci est codé (en ISO-8859-1 ? Je ne peux même pas l'écrire tel qu'il est dans la base, 'Développez.com' me le réécrit comme il faut et automatiquement ) Il semblerait que FILTER_SANITIZE_STRING n'aime pas les quotes. Et si je tente de rajouter en second paramètre 'FILTER_FLAG_NO_ENCODE_QUOTES', j'ai carrément une erreur sql qui s'affiche. Dans tous les cas, impossible d'afficher à nouveau ce produit dans la page. Pourquoi ? Comment puis-je remédier à cela ?
Pour toutes les autres chaînes, y compris avec des caractères spéciaux, je n'ai pas de problème.
merci,
Partager