diff --git a/manager/security.php b/manager/security.php index 1a9bbb4..ecda318 100755 --- a/manager/security.php +++ b/manager/security.php @@ -153,7 +153,7 @@ /* [1] Vérification de l'intégrité des tableaux =============================================================================*/ $areArrays = is_array($tabVar) && is_array($tabForm); // si ce sont bien des tabeaux - $areNEmpty = $areArrays && count($tabVar) > 0 && count($tabForm) > 0; // si ils ne sont pas vides + $areNEmpty = $areArrays && count($tabVar) > 0; // si ils ne sont pas vides $haveEqLen = $areNEmpty && count($tabVar) == count($tabForm); // si ils ont la même taille if( !$haveEqLen ) // si toutes les conditions ne sont pas vérifiées @@ -162,30 +162,30 @@ /* [2] Pour chaque variable on vérifie les données =============================================================================*/ - $checker = true; // on définit le checker à VRAI + $checker = false; // on définit le checker à VRAI // Vérification des types // pour chaque variable - foreach ($tabVar as $type => $tabVal){ - foreach($tabVal as $variable) { // <--- Gestion des tableaux de valeurs ??? - $checker = ($type == gettype($variable)); - if($checker == false) - return (" variable : ".(String)$variable." non conforme, type attendu : ".(String)$type." type reçu :".gettype($variable)); - } - - } + for($i = 0;i < count($tabVar);i++) { - // Vérification des formats + switch($tabType[$i]) { - foreach($tabForm as $format => $tabVal) { - foreach ($tabVal as $variable) { // <--- Gestion des tableaux de valeurs ??? - $checker = preg_match($format,$variable); - if($checker == false) - return (" variable : ".$variable." non conforme, format attendu : ".(String)$format." format reçu :".(String)$variable); + case 'string': if( is_string($tabForm[$i] ) + $checker = is_string($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]; + break; + case 'int': if( is_string($tabForm[$i] ) + $checker = is_int($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]; + break; + case 'numeric': if( is_string($tabForm[$i] ) + $checker = is_numeric($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]; + break; + case 'array': if( is_numeric($tabForm[$i]) ) + $checker = is_array($tabVar[i]) && count($tabVar[$i]) > 0; + break; } } - + return $checker; }