Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala aí galera do fórum, tudo bem com todo mundo?
Bom, primeiramente, gostaria de pedir desculpa caso o que eu estou pensando seja imaturo e não haja lógica nenhuma. Confesso que não pensei muito sobre o assunto, então, talvez a pergunta que eu passa possa ser uma pergunta de "usuário" mesmo, ao invés de alguém que entende um pouquinho sobre informática.
Galera, é o seguinte, eu estou construindo uma página de cadastro em PHP, onde possui um formulário e alguns campos. Dependendo de como o cara preencher o formulário, o PHP vai fazer a inserção no banco de dados MySQL, caso contrário, ele apresenta os erros na tela. Mas como eu tenho vários campos, gostaria de saber se tem como eu fazer um array com o nome dos campos, um array com o nome das funções, um array com as resposta e juntar tudo isso.
Exemplo:
Levando em consideração que eu já peguei o valor de todos os campos, e joguei em varáveis dentro do PHP desta forma: $Nome = $_POST["Nome"];
queria criar um array mais ou menos assim:
$ArrayFuncoes = array('ValidarString', 'ValidarNumerico', ValidarCPF', ValidarEmail', 'ValidarData'); $ArrayCampos = array($Nome,$RG,$CPF,$Email,$Nascimento); $ArrayRespostas = array('Campo Nome Inválido','12345678','12345678910','10/31/2006');
porque se tiver como fazer isso, daí eu faria um for, ao invés de colocar vários "IF" encadeado. Imagina eu ter que acrescentar um campo a mais no formulário futuramente, teria que reestruturar todos os IF.
Continuando com o exemplo, a idéia seria essa:
$Erro = 0; for (i=1;i<count($ArrayCampos);i++) { IF ( ($ArrayFuncoes[i]($ArrayCampos[i])) == false ) { echo $ArrayRespostas[i]; $Erro = 1; } } if ($Erro == 0) { Insere no banco; } Else { Não insere no banco porque deu erro; }
Então pessoal, essa é a minha dúvida, se tem como fazer o que eu tentei demonstrar aí em cima. Isso seria uma mão na roda para mim, pois não teria a necessidade de ficar "encadeando" IF... rs...
Fico no aguardo de uma resposta então.
Obrigado aí mesmo a todo mundo.
Abraços!
Júnior
Ops... rs... Só corrigindo aí:
Desconsiderem:
$ArrayRespostas = array('Campo Nome Inválido','12345678','12345678910','10/31/2006');
E considerem:
$ArrayRespostas = array('Campo Nome Inválido','O Campo do RG deve ser preenchido usando apenas numeros','Erro ao validar o CPF','Data de Nascimento informada Inválida.');
Carregando comentários...