Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal tenho uma dúvida quando a receber variáveis de formularios grandes, pesquisei e encontrei o metodo por foreach e extract, mas com extract nao sei como validar campo por campo.
outra duvida e quando a segurança, ja que usei eval.
veja como fiz:
Desta forma recebo todos os campo e verifico os obrigatorios (que começam por ob_ ):
Este e um pequeno exemplo:
<?phpif($_POST['Submit']){ $erro = array(); foreach($_POST as $nome_campo => $valor){ $valor = sql_inject($valor); $comando = "\$".$nome_campo. "='" .$valor."';"; if((!valida_campo($valor)) && (substr($nome_campo,0,2) == 'ob')){ $erro[] = 'O campo '.substr($nome_campo,3).' não foi imformado'; } eval($comando); } if(sizeof($erro) != 0){ print 'Erros encontrados: <br>'; for($i = 0; $i < sizeof($erro); $i++){ print $erro[$i].'<br>'; } }else{ print 'Nome: '.$ob_nome; print '<br>Email: '.$ob_email; print '<br>Endereco: '.$no_endereco; print '<br>Cidade: '.$no_cidade; print '<br>Ratio: '.$no_sexo; } print ' <hr>';}function sql_inject($campo){ $campo = get_magic_quotes_gpc() == 0 ? addslashes($campo) : $campo; $campo = strip_tags($campo); return preg_replace("@(--|\#|\*|;|=)@s", "", $campo); }function valida_campo($campo){ if((substr_count($campo,' ')) == (strlen($campo))){ return false; } if(empty($campo)){ return false; } if($campo == ' '){ return false; } return true;}?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Documento sem título</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><form name="form1" method="post" action=""> <table width="270" border="0" cellspacing="0" cellpadding="0"> <tr> <td>Nome*</td> <td> <input type="text" name="ob_nome" value=""> </td> </tr> <tr> <td>Email*</td> <td><input type="text" name="ob_email" value=""></td> </tr> <tr> <td>Endreco</td> <td><input type="text" name="no_endereco" value=""></td> </tr> <tr> <td>Cidade</td> <td><input type="text" name="no_cidade" value=""></td> </tr> <tr> <td>Sexo:</td> <td><input type="radio" name="no_sexo" value="M"> <input type="radio" name="no_sexo" value="F"></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Enviar"></td> </tr> </table></form></body></html>Carregando comentários...