empêcher saisie caractères accentués en PHP - PHP - Programmation
Marsh Posté le 25-11-2009 à 19:07:04
les 2, controle avec javascript coté client + control php coté server,
apres un expression regulaire fera l'affaire, tu peu l'utilisé autant en javascript qu'en php
Marsh Posté le 25-11-2009 à 21:37:50
si ce n'est que le javascript est facilement contournable. Mais ceci dit, ça *peut* éliminer qq tentatives ...
Marsh Posté le 25-11-2009 à 21:54:10
fab1105 a écrit : Bonjour, |
Oui le plus simple est de controler a la reception la nature du POST !
Par exemple
Code :
|
Marsh Posté le 25-11-2009 à 23:33:37
NewsletTux a écrit : si ce n'est que le javascript est facilement contournable. Mais ceci dit, ça *peut* éliminer qq tentatives ... |
c'est pour ca que je dis "les 2" un controle client parce que c'est plus joli pour l'utilisateur, et un control serveur qui va bien faire tout ca
Marsh Posté le 26-11-2009 à 07:52:23
FoxLeRenard a écrit :
|
htmlentities à cet endroit c'est stupide.
Cette fonction sert à s'assurer que l'affichage de ta variable sera correct quand tu l'intègres dans du code html, pas à la modifier. Là comme t'es parti du vas stocker du contenu incorrect dans la base de données.
Marsh Posté le 26-11-2009 à 08:28:02
skeye a écrit : |
Merci de ne pas répondre en portant un jugement sur ceux qui comme toi aident au mieux
Si bien sur puisqu'il sagit d'un pseudo et donc on bloque toute tentative de hack donc on flingue les balises, ensuite on controlera qu'il n'y a que de l'aphanum.
genre sans accent par exemple
Marsh Posté le 26-11-2009 à 09:27:38
FoxLeRenard a écrit :
|
Pour aider les gens il faut être sûr de ce qu'on leur dit. En l'occurrence ce n'est pas le cas, ton htmlentities n'a rien à faire ici.
FoxLeRenard a écrit :
|
Non, non et non. Si ton utilisateur veut s'appeler <body>TOTO</body> c'est ce que tu dois stocker dans la base (si c'est autorisé, évidemment...).
Stocker des données passées par htmlentities introduit un couplage fort entre le médium utilisé pour la présentation des données et les données elles-mêmes, ce qui n'a aucun intérêt et peut même s'avérer gênant pour des choses telles que les recherches dans les données ou tout simplement l'utilisation d'un autre medium qu'une interface web.
C'est une mauvaise pratique, et donner ce genre de mauvais exemple n'aide personne.
Marsh Posté le 26-11-2009 à 09:30:25
Et si tu vérifies les accents après un htmlentities, tu risques pas d'en trouver des masses...
Marsh Posté le 26-11-2009 à 09:44:01
soulmanto a écrit : Et si tu vérifies les accents après un htmlentities, tu risques pas d'en trouver des masses... |
Non, et en se démerdant suffisamment mal on peut même se retrouver à virer les caractères non alphanumériques et donc ajouter des caractères qui n'ont rien à voir à la place des entités html.
Marsh Posté le 26-11-2009 à 13:03:25
Personnellement j'utilise ceci pour remplacer les caractères accentués par leur version non accentuée, ça pourra peut-être te servir :
Code :
|
Ce n'est peut-être pas la meilleure méthode cela dit, et cela nécessite d'avoir l'extension iconv activée.
Marsh Posté le 07-12-2009 à 13:58:20
skeye a écrit : |
Je ne crois pas non. A la limite, la personne peut commencer sa phrase avec : Il me semble que...
Parce que tu verrais le nombre de conneries que je lis ne serait-ce que sur HFr, par des gens kissyconnaissent et sûrs d'eux...
Les forums ne seraient pas très remplis si on acceptait que les réponses de ceux qui 'savent vraiment'.
Mais au moins il y a des personnes (comme toi) qui sont là pour rectifier (après le côté hautain n'est pas obligatoire non plus), c'est comme ça qu'on avance.
Marsh Posté le 07-12-2009 à 14:23:47
blueteen a écrit : Je ne crois pas non. |
Si. En mêlant des âneries à des bribes de réponses on n'aide personne.
Marsh Posté le 25-11-2009 à 18:46:01
Bonjour,
J'ai un formulaire avec un champ pseudo et je souhaiterai empêcher l'utilisateur de s'inscrire avec un pseudo ayant des caractères accentués tels que é è à ù .
Je n'ai pas trouvé de fonction php qui contrôlerait que les caractères sont sans accent, ou le cas échéant qui convertirait les caractères accentués en caractères sans accent.
Est-ce qu'une de ces deux fonctions existe, ou dois-je utiliser une expression régulière pour convertir les caractères accentués entrés par l'utilisateur?
Merci pour vos réponses.
Message édité par fab1105 le 25-11-2009 à 18:49:17