filtering - Give filter_var() filter by passing a variable PHP (filter_var() expects parameter 2 to be long, string given) -
right i'm trying validate postdata filter_var(). want filter related each input database. if input should filtered email, variable contain filter_validate_email. passed so:
foreach($this->postdata $key => $input){ if(!((empty($requirements[$key][1])) || $requirements == 'allowed')){ if(filter_var($input, $requirements[$key][1]) === false){ $errors = true; } } } the $postdata looks this:
array (size=4) 'personer_navn' => array (size=1) 0 => int 0 'personer_alder' => array (size=1) 0 => int 1 'personer_kon' => array (size=2) 0 => int 2 1 => int 3 'personer_by' => array (size=1) 0 => int 4 and $requirements looks this:
array (size=4) 'personer_navn' => array (size=4) 0 => string 'string' (length=6) 1 => string 'filter_validate_email' (length=21) 2 => string '' (length=0) 3 => string '' (length=0) 'personer_alder' => array (size=4) 0 => string 'int' (length=3) 1 => string 'filter_validate_email' (length=21) 2 => string '' (length=0) 3 => string '' (length=0) 'personer_kon' => array (size=4) 0 => string 'allowed' (length=7) 1 => string 'allowed' (length=7) 2 => string 'allowed' (length=7) 3 => string 'allowed' (length=7) 'personer_by' => array (size=4) 0 => string 'string' (length=6) 1 => string 'filter_validate_email' (length=21) 2 => string '' (length=0) 3 => string '' (length=0) again problem seems ba passing $requirements[$key][1] filter_var() function.
any appreciated.
a simple change fix bug
foreach($this->postdata $key => $input){ if(!((empty($requirements[$key][1])) || $requirements == 'allowed')){ if(filter_var($input, constant( $requirements[$key][1]) ) === false){ $errors = true; } } } the constant function returns (integer) value of filter string.
read p.p-s answer too.
Comments
Post a Comment