Ir para conteúdo
Fórum Script Brasil
  • 0

Urgente - Pelo Amor De Deus


Guest - Ronaldo -

Pergunta

Guest - Ronaldo -

Seguinte galera, é coisa de vida ou morte, tenho q entregar pra ontem e to quebrando a cabeça

tenho um formulário de inscriçao em queum dos campos é $cursoField e o outro $periodoField e um terceiro $idadeField

Preciso fazer um script para que apareça uma mensagem na tela de que o usuario não pode se inscrever ou impedir a inscriçao quando for estas condiçoes (comparacoes entre os tres campos:)

Eu só tenho cursos para estas opçoes:

Auto Mecanica (noite) acima de 24 anos

Confeccao - (manha tarde e noite) 18 a 24 anos

Construçao Civil - (tarde e noite) acima de 24 anos

Marcenaria (manha e tarde) 15 a 18 anos / noite so para acima de 24 anos

Manutencao de micro (manha e tarde) 15 a 18 e noite so para acima de 24 anos

mecanica geral (manha e tarde) 15 a 18 anos e noite so para acima de 24 anos

Eletretotecnica (manha e tarde) 15 a 18 anos e noite so para acima de 24 anos

Comunicacao Visual (manha e tarde ) 15 a 18 anos e noite so para acima de 24 anos

Tecnicas Administrativas (so para manha) 15 a 18 anos

qual a melhor forma de fazer, em PHP ou javascritpt

Por favor, preciso de algo pronto para me ajudar, me ajudem

Lembre-se O campo curso no form é uma caixa de selecao, o periodo tambem e a renda textarea

Valeu - é realmente urgente, Ronaldo

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Ronaldo,

É mais seguro validar por PHP, pois não tem como driblar a validação...

você sabe pelo menos um pouco de PHP? Eu posso te ajudar a encontrar o caminho, mas como estou com pouco tempo não poderei montar o script inteiro pra você...

Bom, vamos lá... na página onde receberá os dados do formulário, você vai ter as variáveis $_POST['cursos'] (curso selecionado), $_POST['periodo'] (período selecionado), $_POST['renda'], etc... uma variável

$_POST['name_do_campo_no_form'] pra cada campo... isto é, se o method for "post"! Se não vai ser tudo "get".

Então, se você tiver a idade, monta a validação neste esquema:

Para o exemplo de Auto Mecanica (noite) acima de 24 anos, vamos supor que o value do campo curso no form seja "Auto Mecanica", e que a variável $idade contenha a idade do ser:

if ($_POST['curso] == "Auto Mecanica" {

    if ($idade < 24) {

        header("Location: erro.htm");

        exit;

    }

}

Sacou como funciona? você valida com o if... vai colocando um bloco desses pra cada caso que vai dar certo... aí, se ele estiver fora da idade permitida, vai direcionar pra página "erro.htm". Quando você for trabalhar com intervalo de idades, faça assim:

Exemplo: Marcenaria (manha e tarde) 15 a 18 anos / noite so para acima de 24 anos

if ($_POST['curso'] == "Marcenaria") {

    if ($_POST['periodo'] == "manha" || $_POST['periodo] == "tarde") {

        if ($_POST['idade'] <= 15 || $_POST['idade'] => 18) {

            header("Location: erro.htm");

            exit;

        }

    }

    if ($_POST['periodo'] == "noite") {

        if ($_POST['idade'] < 24) {

            header("Location: erro.htm");

            exit;

        }

    }

}

Beleza? Viu aquele operador que coloquei em vermelho? Ele quer dizer "ou", que vai seguir em frente se a primeira condição OU a segunda for verdadeira. Se você quiser um operador "e", é assim: &&

Falou! Boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 0

valeu até agora gente, vou tentar...mas se puderem me ajudar, estou colocando o que tenho pronto...

Este é o arquivo do form - vou colocar so ate a parte que interessa...

<table width="505" border="0"

cellpadding="3" cellspacing="0"

bordercolorlight="#000000" bordercolordark="#000080" bgcolor="d3effb" id="cadastro">

<tr bgcolor="d3effb">

<td height="89" colspan="2" align="left"> <div align="center"><font color="#FF0000" size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>ATEN&Ccedil;&Atilde;O:

<font color="#000000">ESTE CADASTRO N&Atilde;O &Eacute; GARANTIA DE

VAGA!</font></strong></font><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>

<br>

1) PARA SEU BOM FUNCIONAMENTO, PREENCHA TODOS OS CAMPOS. <br>

2) SE TIVER D&Uacute;VIDAS, SIGA O EXEMPLO AO LADO DE CADA CAMPO.<br>

3) OS CAMPOS MARCADOS COM <font color="#FF0000">*ASTERISTICO</font>

S&Atilde;O OBRIGAT&Oacute;RIOS</font></div></td>

</tr>

<tr bgcolor="d3effb">

<td height="23" colspan="2" align="left">&nbsp;</td>

</tr>

<tr bgcolor="fffff2">

<td height="23" colspan="2" align="left"><font color="#FF0000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Dados

Pessoais: </strong></font></td>

</tr>

<tr valign="baseline" bgcolor="fffff2">

<td width="116" height="20" align="left"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><strong><small>RG:</small></strong></font></div></td>

<td width="377" height="20"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0000"><small>

</small></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font color="#FF0000"><strong>*</strong></font>

<input name="rgField" type="text" id="nascimento" size="30">

</font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0000"><small>Ex:000000000</small></font></td>

</tr>

<tr bgcolor="fffff2">

<td width="116" align="left"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><strong><small>Nome

Completo<br>

(sem abrevia&ccedil;&otilde;es):</small></strong></font></div></td>

<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <font color="#FF0000"><strong>*</strong></font>

<input name="nomeField" type="text" id="nome4" size="40" maxlength="50">

</font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0000"><small>Ex:

Beltrano de Tal</small></font></td>

</tr>

<tr bgcolor="fffff2">

<td width="116" height="2" align="left" valign="middle"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

</font><font class=f3a>Curso:</font></b></font></div></td>

<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <font color="#FF0000"><strong>*</strong></font>

<select name="cursoField" size=1 class=modelo1 title="curso">

<option value="Auto Mec&acirc;nica">Auto Mec&acirc;nica</option>

<option value="Comunica&ccedil;&atilde;o Visual">Comunica&ccedil;&atilde;o

Visual</option>

<option value="Confec&ccedil;&atilde;o">Confec&ccedil;&atilde;o</option>

<option value="Constru&ccedil;&atilde;o Civil">Constru&ccedil;&atilde;o

Civil</option>

<option value="Eletrot&eacute;cnica">Eletrot&eacute;cnica</option>

<option value="Est&eacute;tica">Est&eacute;tica</option>

<option value="Inform&aacute;tica B&aacute;sica">Inform&aacute;tica

B&aacute;sica</option>

<option value="Marcenaria">Marcenaria</option>

<option value="Mec&acirc;nica Geral">Mec&acirc;nica Geral</option>

<option value="Manut. de Micros">Montagem e Manut. de Micros</option>

<option value="Sapataria">Sapataria</option>

<option value="Sorveteria">Sorveteria</option>

<option value="Tecelagem">Tecelagem</option>

</select>

<font color="#FF0000" size="1">Ex. Marcenaria, Padaria</font></font></td>

</tr>

<tr bgcolor="fffff2">

<td width="116" height="2" align="left" valign="middle"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

</font></b></font><font class=f3a>Per&iacute;odo:</font></b></font></div></td>

<td width="377"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font color="#FF0000"><strong>*</strong></font></font><font color="#FF0000">

<select name="periodoField">

<option value="manh&atilde;" selected>manh&atilde;</option>

<option value="tarde">tarde</option>

<option value="noite">noite</option>

</select>

<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><small>Ex:

Manh&atilde;/Tarde/Noite</small></font></font></td>

</tr>

<tr valign="baseline" bgcolor="fffff2">

<td height="20" align="left"><div align="right"><font color="#000000"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><small>

Idade</small></font></strong></font></div></td>

<td height="20"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font color="#FF0000"><strong>*</strong></font></font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0000"><small>

<input name="textfield" type="text" size="04" maxlength="02">

</small></font><font color="#FF0000"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><small>Ex:

16, 17, 24</small></font></font></td>

</tr>

<tr valign="baseline" bgcolor="fffff2">

<td width="116" height="20" align="left"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><strong><small>Data

de Nascimento:</small></strong></font></div></td>

<td width="377" height="20"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0000"><small>

</small></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font color="#FF0000"><strong>*</strong></font>

<input name="nascimentoField" type="text" id="nascimento3" size="30">

</font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0000"><small>Ex:

01/01/1901</small></font></td>

</tr>

</table>

E eu estou fazendo a captura dos dados desta forma quando se posta o form:

<?

$query="insert into cadastro (nome,curso,periodo,nascimento,rg,cpf,endereco,numero,bairro,cidade,telefone,telefone_recado,composicao_familiar,comodos,imovel,renda1_contribuinte,renda1_parentesco,renda1_profissao,renda1_salario,renda2_contribuinte,renda2_parentesco,renda2_profissao,renda2_salario,escolaridade,escolaridade_serie,escolaridade_horario,ex_aluno,ex_aluno_curso,ex_aluno_ano) VALUES ('$nomeField','$cursoField','$periodoField','$nascimentoField','$rgField','$cpfField','$enderecoField','$numeroField','$bairroField','$cidadeField','$telefoneField','$telefone_recadoField','$composicao_familiarField','$comodosField','$imovelField','$renda1_contribuinteField','$renda1_parentescoField','$renda1_profissaoField','$renda1_salarioField','$renda2_contribuinteField','$renda2_parentescoField','$renda2_profissaoField','$renda2_salarioField','$escolaridadeField','$escolaridade_serieField','$escolaridade_horarioField','$ex_alunoField','$ex_aluno_cursoField','$ex_aluno_anoField')";

$result = MYSQL_QUERY($query);

?>

Está certo? E aí, como faço estas validações?

Então a pessoa só vai ser direcionada para a pagina de erro depois de submeter o form, não da para ser um print na tela (uma mensagem) tipo destas que ela tem que dar ok

Por favor, me ajudem!

Valeu

Ronaldo

Link para o comentário
Compartilhar em outros sites

  • 0

Duas coisas:

1. No código PHP tá faltando a conexão com o BD... não sei se tem em outra parte do código, acredito que sim. Só estou falando caso não tenha, mesmo...

2. Essa mensagem de erro que você falou é um "alert", feito em javascript... como eu disse, tem como driblar. você pode, ao invés de redirecionar a página, mandar recarregar a mesma já com a mensagem de erro nela...

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

Legal, mas como faço para mandar regarregar, por acaso é refresf.page??

Detalhe, se eu estou usando essa sintaxe apenas:

<?

$query="insert into cadastro (nome,curso,periodo,nascimento,rg,cpf,endereco,numero,bairro,cidade,telefone,telefone_recado,composicao_familiar,comodos,imovel,renda1_contribuinte,renda1_parentesco,renda1_profissao,renda1_salario,renda2_contribuinte,renda2_parentesco,renda2_profissao,renda2_salario,escolaridade,escolaridade_serie,escolaridade_horario,ex_aluno,ex_aluno_curso,ex_aluno_ano) VALUES ('$nomeField','$cursoField','$periodoField','$nascimentoField','$rgField','$cpfField','$enderecoField','$numeroField','$bairroField','$cidadeField','$telefoneField','$telefone_recadoField','$composicao_familiarField','$comodosField','$imovelField','$renda1_contribuinteField','$renda1_parentescoField','$renda1_profissaoField','$renda1_salarioField','$renda2_contribuinteField','$renda2_parentescoField','$renda2_profissaoField','$renda2_salarioField','$escolaridadeField','$escolaridade_serieField','$escolaridade_horarioField','$ex_alunoField','$ex_aluno_cursoField','$ex_aluno_anoField')";

$result = MYSQL_QUERY($query);

?>

terei que fazer um if para todos os outros campos (validações) e deixar esta como else não é mesmo ou estou errado...

mas tem uma coisa, eu não queria q o usuario tivesse qe preencher os dados novamente, tem como deixar o focus para que ele continue no campo curso por exemplo...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...