Passe um valor para filter_input () usando a variável
Alguém pode explicar, por que recebo um aviso muito estranho:
filter_input() expects parameter 1 to be long, string given
ao executar o código, isso faz parte da minha classe e parece perfeitamente bem:
public static function Input($type, $data, $filter = 'FILTER_SANITIZE_SPECIAL_CHARS')
{
$type = 'INPUT_' . $type;
return filter_input($type, $data, $filter);
}
Caso eu mude para, por exemplo:
return filter_input(INPUT_POST, $data, $filter);
Em seguida, o aviso vai para:
filter_input() expects parameter 3 to be long
.
Tudo funciona muito bem se eu usar:
return filter_input(INPUT_POST, $data, FILTER_SANITIZE_SPECIAL_CHARS);
Eu percebo que emPHP: filter_input - Manual na descrição está indicado:
Descrição
mixed filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] )
Parâmetros
type
One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV.
filter_input ( int $type ,
- quando nemINPUT_GET nemINPUT_POST e etc sãoINTEGERS.Existe uma maneira de passar um valor parafilter_input
usando variável?