diff --git a/simuladormobout.php b/simuladormobout.php index 6534325..e5a0bc6 100644 --- a/simuladormobout.php +++ b/simuladormobout.php @@ -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; } } }