init all entradas keys and cast to float — silence PHP 8 undefined-key/non-numeric warnings
This commit is contained in:
@@ -131,14 +131,25 @@ function limpaPost($valor){
|
||||
//Função para pegar a entrada
|
||||
function validar_entrada(){
|
||||
global $entradas;
|
||||
$entradas = array("lingua2" => 0, "lingua" => 0, "porcentagem" => 0, "repro_rec" => 0, "repro_nrec" => 0, "estagio" => 0, "estagio_exterior" => 0);
|
||||
foreach ($_POST as $chave => $valor){
|
||||
if (empty($valor)){
|
||||
$item = 0;
|
||||
$entradas[$chave] = $item;
|
||||
|
||||
// Lista completa dos campos numericos esperados. Inicializar todos em 0
|
||||
// evita avisos de "Undefined array key" no PHP 8 quando o formulario chega
|
||||
// incompleto, e o cast para float garante valores numericos (sem avisos de
|
||||
// "non-numeric value") mesmo diante de um POST adulterado.
|
||||
$campos = array(
|
||||
'programa', 'mobilidade', 'lingua', 'lingua2', 'porcentagem',
|
||||
'repro_rec', 'repro_nrec', 'media', 'ic', 'extensao', 'monitoria',
|
||||
'art_periodicos', 'art_congresso', 'cap_livros', 'livros', 'resumos',
|
||||
'evento_extensao', 'evento_pesquisa', 'congresso',
|
||||
'estagio', 'estagio_exterior',
|
||||
);
|
||||
|
||||
$entradas = array();
|
||||
foreach ($campos as $campo) {
|
||||
if (isset($_POST[$campo]) && $_POST[$campo] !== '') {
|
||||
$entradas[$campo] = (float) limpaPost($_POST[$campo]);
|
||||
} else {
|
||||
$item = limpaPost($valor);
|
||||
$entradas[$chave] = $item;
|
||||
$entradas[$campo] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user