From ece8a1d6b7d460d04fff2d78d20871e97a1fb83b Mon Sep 17 00:00:00 2001 From: Ruben Carlo Benante Date: Mon, 29 Jun 2026 16:55:37 -0300 Subject: [PATCH] =?UTF-8?q?init=20all=20entradas=20keys=20and=20cast=20to?= =?UTF-8?q?=20float=20=E2=80=94=20silence=20PHP=208=20undefined-key/non-nu?= =?UTF-8?q?meric=20warnings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simuladormobout.php | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) 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; } } }