Bonjour,
je souhaite compter le nombre de caractère d'une chaine receptionné par un formulaire. Je fais donc un strlen($ma_chaine). Cependant par sécurité j'applique les foncitons php htmlentities() et addslashes() ce qui à pour effet d'ajouter des caractères s'il s'agit de caractères dit spéciaux !
Solution faire un strlen avant ces fonctions ! puis appliquer les fonctions après pour enregistrer dans la base de données une source fiable et n'avoir plus qu'a la récupérer pour un affichage (opération la plus courante)...Le problème est que la taille de mon champ de la table est logiquement limité ! Donc si je suppose par exemple qu'un prénom ne dépasse pas les 10 caractères je définis la taille de ma table à 10 caractères.
Si un utilisateur s'appel: azertyuioé
le premier strlen est de 10 ! Donc impecable ! mais si l'on refais un strlen après les fonctions il en fera 16 (en prenant é = 7 caractères pour que l'on est tous les même base car je ne sais plus combien c'est pas defaut, bref..).
Donc comment régler ce petit soucis ?
La meilleur solution consisterait-elle à agrandir la longueur du champ, par exemple 50 caractères et limiter au niveau code...
(en fait au en écrivant ce post, je me donne la réponse je crois... :? )
marchi!!!
je souhaite compter le nombre de caractère d'une chaine receptionné par un formulaire. Je fais donc un strlen($ma_chaine). Cependant par sécurité j'applique les foncitons php htmlentities() et addslashes() ce qui à pour effet d'ajouter des caractères s'il s'agit de caractères dit spéciaux !
Solution faire un strlen avant ces fonctions ! puis appliquer les fonctions après pour enregistrer dans la base de données une source fiable et n'avoir plus qu'a la récupérer pour un affichage (opération la plus courante)...Le problème est que la taille de mon champ de la table est logiquement limité ! Donc si je suppose par exemple qu'un prénom ne dépasse pas les 10 caractères je définis la taille de ma table à 10 caractères.
Si un utilisateur s'appel: azertyuioé
le premier strlen est de 10 ! Donc impecable ! mais si l'on refais un strlen après les fonctions il en fera 16 (en prenant é = 7 caractères pour que l'on est tous les même base car je ne sais plus combien c'est pas defaut, bref..).
Donc comment régler ce petit soucis ?
La meilleur solution consisterait-elle à agrandir la longueur du champ, par exemple 50 caractères et limiter au niveau code...
(en fait au en écrivant ce post, je me donne la réponse je crois... :? )
marchi!!!