PHP5 - CLASSE DE VÉRIFICATION DE FORMULAIRE SIMPLE

webdeb
Messages postés
488
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
- 26 sept. 2007 à 09:08
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
- 27 sept. 2007 à 13:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44199-php5-classe-de-verification-de-formulaire-simple

malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
27 sept. 2007 à 13:40
Hello,

c'est plus grave que ça ce laxisme dans les comparaisons.
empty() va vérifier qu'une valeur est vide, ou nulle, ou false...
'' aussi...
ce qui implique que 0 rentre dans ces deux cas.
Et quand après on a aussi ça :
# public static function notZero($value)
# {
# if ($value == 0) {
# return false;
# }
#
# return true;
# }

Ca devient très embêtant, car ce code ne vérifie absolument pas si la valeur est égale à 0. Si elle est false, ou '', c'est pareil.

Quand on fait un code de traitement de données, on DOIT coder de manière stricte! Tes comparaisons doivent être strictes, et tu ne peux pas te permettre de ne pas connaître les différences entre empty(), isset(), is_null(), is_int(), ==, ===, !=, !== etc.
Sinon, ton code va forcément être buggé.
Et en l'occurence, il l'est.

Sinon, bien aussi pour les filtres en effet :-) Mais tu devrais approfondir, tu t'en sers peu là...et ils peivent justement t'éviter bien des déboires.
codefalse
Messages postés
1123
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1
27 sept. 2007 à 10:59
en fait ta double vérification ne fait que te perdre du temps de calcul et des lignes de code en plus :)
cs_NainPuissant
Messages postés
12
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
26 septembre 2007

26 sept. 2007 à 10:09
Hey merci pour pathinfo je connaisais pas =o.
Et pour les != '' je fais juste un double test : avec != et avec !empty... juste au cas où =P.
Bon après pour les fonctions de check, j'ai juste fais des trucs simples chacun peut faire sa ptite fonction.

webdeb
Messages postés
488
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
4
26 sept. 2007 à 09:08
De bonnes idées, notamment l'implémentation de l'extension Filter de PHP5. Par contre j'ai quelques remarques à te faire pour améliorer tout ça :

1/ Remplacer tes != '' par !empty($maVar)
2/ Une extension doit plutôt se récupérer à partir de la fonction pathinfo() et de sa constante PATHINFO_EXTENSION.

++