Màj checkParam pour aurélien
This commit is contained in:
parent
ad091e8f9a
commit
f0222656ab
|
@ -129,76 +129,31 @@
|
||||||
* @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon
|
* @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function checkParam($tabVar, $tabType, $tabForm) {
|
function checkParam($variable, $type){
|
||||||
// FORMAT DE $tabVar
|
$checker = isset($variable);
|
||||||
//
|
|
||||||
// $tabVar = array(
|
|
||||||
// $stringVar, // chaine de caractères
|
|
||||||
// $integerVar, // entier
|
|
||||||
// $numericVar, // nombre (sous forme d'entier ou de chaine)
|
|
||||||
// $arrayVar // tableau
|
|
||||||
// );
|
|
||||||
|
|
||||||
// FORMAT DE $tabType
|
// traitement en fonction du type
|
||||||
//
|
switch($type){
|
||||||
// $tabType = array(
|
case 'utilisateur.identifiant':
|
||||||
// 'string', // chaine de caractères
|
return $checker && is_string($variable) && preg_match('/^[\w -]{3,50}$/i', $variable);
|
||||||
// 'int', // entier
|
|
||||||
// 'numeric', // nombre (sous forme d'entier ou de chaine)
|
|
||||||
// 'array' // tableau
|
|
||||||
// );
|
|
||||||
|
|
||||||
|
|
||||||
// FORMAT DE $tabForm
|
|
||||||
//
|
|
||||||
// $tabType = array(
|
|
||||||
// '/^[a-z0-9]{1,5}$/i', // chaine de caractères
|
|
||||||
// '/^[0-9]+$/', // entier
|
|
||||||
// '/^[0-9]+$/', // nombre (sous forme d'entier ou de chaine)
|
|
||||||
// '??????' // tableau
|
|
||||||
// );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [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; // 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
|
|
||||||
return false; // on retourne faux, car ne pourra pas être vrai
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] Pour chaque variable on vérifie les données
|
|
||||||
=============================================================================*/
|
|
||||||
$checker = false; // on définit le checker à VRAI
|
|
||||||
|
|
||||||
// Vérification des types
|
|
||||||
|
|
||||||
// pour chaque variable
|
|
||||||
for($i = 0 ; $i < count($tabVar) ; $i++) {
|
|
||||||
|
|
||||||
switch($tabType[$i]) {
|
|
||||||
|
|
||||||
case 'string': if( is_string($tabForm[$i]) )
|
|
||||||
$checker = is_string($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]);
|
|
||||||
break;
|
break;
|
||||||
case 'int': if( is_string($tabForm[$i]) )
|
case '<string>':
|
||||||
$checker = is_int($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]);
|
return $checker && is_string($variable);
|
||||||
break;
|
break;
|
||||||
case 'numeric': if( is_string($tabForm[$i]) )
|
case '<int>':
|
||||||
$checker = is_numeric($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]);
|
return $checker && is_int($variable);
|
||||||
break;
|
break;
|
||||||
case 'array': if( is_numeric($tabForm[$i]) )
|
case '<numeric>':
|
||||||
$checker = is_array($tabVar[i]) && count($tabVar[$i]) > 0;
|
return $checker && is_numeric($variable);
|
||||||
|
break;
|
||||||
|
case '<array>':
|
||||||
|
return $checker && is_array($variable);
|
||||||
|
break;
|
||||||
|
case '<boolean>':
|
||||||
|
return $checker && is_bool($variable);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return $checker;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue