Ricardos 0 Denunciar post Postado Maio 13, 2010 Boa noite pessoal! Bom gostaria da ajuda de vcs para validar uns campos que tenho em meu formulario. É um cadastro de usuarios, e gotaria que os capos como data, CPF, CNH, fossem validados antes de gravar no BD. Alguem poderia me ajudar. Este é meu projeto de TCC que irei apresentar mês que vem. Obrigado Segue os Script <td>CPF</td> </tr> <tr> <td><input type="text" size="15" name="cl_cpf" value="<? echo @$_SESSION["cl_cpf"]?>" onkeypress="mascara(this,cpf)" maxlength="14" /></td> </tr> <td>CNH</td> </tr> <tr> <td><input type="text" size="15" maxlength="15" name="cl_cnh" value="<? echo @$_SESSION["cl_cnh"]?>" /></td> </tr> <tr> Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 14, 2010 Uma função que valida CPF já foi postada aqui no fórum pelo João Bastista Neto. Basta usar a pesquisa que irá encontrar o post dele. Já a CNH não sei, tem que ver como é feita essa validação. Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Maio 14, 2010 Encontrei essas duas matérias sobre o assunto! Espero que ajude! Essa em PHP: http://imasters.com.br/artigo/1403?cn=1403&cc=44 Essa em JavaScript: http://imasters.com.br/artigo/2410/javascript/algoritmo_do_cpf/ Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 14, 2010 Aqui: http://forum.imasters.com.br/index.php?/topic/374746-erro-script-validacao-cpf/page__view__findpost__p__1445510 Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Maio 14, 2010 Aqui: http://forum.imaster...ost__p__1445510 Bom, essa de CPF eu sei que funciona, agora, a de CNH, como acabei de escrever, significa que precisa de testes. Então, se possível, faça o teste e poste aqui o resultado. /** * Valida uma CNH * @param string $cnh A CNH * @return boolean */ function isValidCNH( $cnh ) { $ret = false; if ( is_string( $cnh ) ) { if ( ( strlen( $cnh = preg_replace( '/[^\d]/' , '' , $cnh ) ) == 11 ) && ( str_repeat( $cnh{ 1 } , 11 ) != $cnh ) ) { $dsc = 0; for ( $i = 0 , $j = 9 , $v = 0 ; $i < 9 ; ++$i , --$j ) $v += (int) $cnh{ $i } * $j; if ( ( $vl1 = $v % 11 ) >= 10 ) { $vl1 = 0; $dsc = 2; } for ( $i = 0 , $j = 1 , $v = 0 ; $i < 9 ; ++$i , ++$j ) $v += (int) $cnh{ $i } * $j; $vl2 = ( $x = ( $v % 11 ) ) >= 10 ? 0 : $x - $dsc; $ret = sprintf( '%d%d' , $vl1 , $vl2 ) == substr( $cnh , -2 ); } } return $ret; } ;) Compartilhar este post Link para o post Compartilhar em outros sites
Ricardos 0 Denunciar post Postado Maio 14, 2010 Certo, minha dúvida é onde eu coloco este código, antes daqueles que eu postei, depois, em outro script? Obrigado Segue meu script completo, do cadastro de usuarios! <?php //session_start(); include("funcoes.php"); $usuario = @$_SESSION['nome']; $acesso = @$_SESSION['acesso']; if ($usuario == null){ echo "Redirecionando...<br/>"; echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=login.php?erro=3'>"; } if ($acesso==0){ echo "Redirecionando...<br/>"; echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=login.php?erro=4'>"; } $admselected = ""; $tecselected = ""; if (@$_SESSION["cl_acesso"] == 1) $admselect = "selected"; else $tecselect = "selected"; include ("header.php"); ?> <script> function somente_numero(campo){ var digits="0123456789" var campo_temp for (var i=0;i<campo.value.length;i++){ campo_temp=campo.value.substring(i,i+1) if (digits.indexOf(campo_temp)==-1){ campo.value = campo.value.substring(0,i); } } } </script> <style type="text/css"> <!-- .style1 { font-size: 24px; color: #6699CC; font-weight: bold; } --> </style> <div id="migalhas"> <p>Você está em <a href="agenda.php" title="Home">Home</a> > Cadastro de Colaborador</p> </div> <div id="tela" style="padding-left:10px"> <h1 class="style1">CADASTRO DE COLABORADOR</h1> <h6>Os campos em vermelho são obrigatórios</h6> <form action="" method="post" id="form-cadastros" name="formulario"> <table> <th colspan="2"> <? imprimeErros(); ?></th> <tr><td> <!-- primeira coluna--> <table width="357" border="0"> <tr> <td width="351">Código</td> </tr> <tr> <td><input type="text" size="10" style="background-color:#999999; text-align:right;font-weight:bold" readonly name="cl_id" value="<? echo @$_SESSION["cl_id"]?>"/></td> </tr> <tr> <td>Nome</td> </tr> <tr> <td> <input type="text" style="border-color:red" size="40" maxlength="40" name="cl_nome" value="<? echo @$_SESSION["cl_nome"]?>" /> </td> </tr> <tr> <td>Senha</td> </tr> <tr> <td><input type="password" size="10" maxlength="40" name="cl_senha" value="<? echo @$_SESSION["cl_senha"]?>" /></td> </tr> <tr> <td>Acesso</td> </tr> <tr> <td> <select name="cl_acesso"> <option value="1" <? echo @$admselect ?> >Administrador</option> <option value="0" <? echo @$tecselect ?> >Técnico</option> </select> </td> </tr> <tr> <td>Data Nascimento</td> </tr> <tr> <td><input type="text" size="10" maxlength="10" name="cl_dtnasc" style="border-color:red" value="<? echo @$_SESSION["cl_dtnasc"]?>" onblur="validaData(this)" onkeypress="mascara(this,data)"/> <img src="images/calendar.jpg" onmouseover="Tip('Clique para selecionar uma data')" onmouseout="UnTip()" onclick="displayCalendar(document.forms['formulario'].cl_dtnasc,'dd/mm/yyyy',this)"/> </td> </tr> <tr> <td>Endereço</td> </tr> <tr> <td><input type="text" size="40" maxlength="40" style="border-color:red" name="cl_endereco" value="<? echo @$_SESSION["cl_endereco"]?>" /></td> </tr> <tr> <td>Número</td> </tr> <tr> <td><input type="text" size="10" style="border-color:red;text-align:right" maxlength="10" name="cl_nroend" value="<? echo @$_SESSION["cl_nroend"]?>" onkeyup="somente_numero(this);" /></td> </tr> <tr> <td>Complemento</td> </tr> <tr> <td><input type="text" size="40" maxlength="40" name="cl_complend" value="<? echo @$_SESSION["cl_complend"]?>" /></td> </tr> <tr> <td>Bairro</td> </tr> <tr> <td><input type="text" size="40" maxlength="40" name="cl_bairroend" style="border-color:red"value="<? echo @$_SESSION["cl_bairroend"]?>" /></td> </tr> <tr> <td>CEP</td> </tr> <tr> <td><input type="text" size="10" maxlength="10" onkeypress="mascara(this,cep)" name="cl_cepend" value="<? echo @$_SESSION["cl_cepend"]?>" /></td> </tr> <tr> <td>Cidade</td> </tr> <tr> <td><input type="text" style="border-color:red;background-color:#999999; text-align:right;font-weight:bold" size="10" readonly maxlength="10" name="cidade_id" value="<? echo @$_SESSION["cidade_id"]?>" /> <img src="images/icon_pesq.GIF" alt="Clique para pesquisar" onmouseover="Tip('Clique para Pesquisar a Cidade')" onmouseout="UnTip()" onclick="doSubmit('colaboradordao.php?acao=pesquisacidade');"/> <? echo @ $_SESSION["cidade"]?> </td> </tr> <tr> <td>Departamento</td> </tr> <tr> <td><input type="text" style="border-color:red;background-color:#999999; text-align:right;font-weight:bold" size="10" readonly maxlength="10" name="departamento_id" value="<? echo @$_SESSION["departamento_id"]?>" /> <img src="images/icon_pesq.GIF" alt="Clique para pesquisar" onmouseover="Tip('Clique para Pesquisar o Departamento')" onmouseout="UnTip()" onclick="doSubmit('colaboradordao.php?acao=pesquisadepartamento');"/> <? echo @$_SESSION["departamento"]?> </td> </tr> </table> </td><td> <!-- segunda coluna--> <table> <tr> <td>CPF</td> </tr> <tr> <td><input type="text" size="15" name="cl_cpf" value="<? echo @$_SESSION["cl_cpf"]?>" onkeypress="mascara(this,cpf)" maxlength="14" /></td> </tr> <tr> </tr> <tr> <td>Fone Residencial</td> </tr> <tr> <td><input type="text" size="20" maxlength="20" name="cl_foneres" onkeypress="mascara(this,telefone)" value="<? echo @$_SESSION["cl_foneres"]?>" /></td> </tr> <tr> <td>Celular</td> </tr> <tr> <td><input type="text" size="20" maxlength="20" onkeypress="mascara(this,telefone)" name="cl_fonecel" value="<? echo @$_SESSION["cl_fonecel"]?>" /></td> </tr> <td>CNH</td> </tr> <tr> <td><input type="text" size="15" maxlength="15" name="cl_cnh" value="<? echo @$_SESSION["cl_cnh"]?>" /></td> </tr> <tr> <td>Validade CNH</td> </tr> <tr> <td> <input type="text" size="10" maxlength="10" name="cl_validcnh" value="<? echo @$_SESSION["cl_validcnh"]?>" onkeypress="mascara(this,data)" onblur="validaData(this)" style="border-color:red"/> <img src="images/calendar.jpg" onmouseover="Tip('Clique para selecionar uma data')" onmouseout="UnTip()" onclick="displayCalendar(document.forms['formulario'].cl_validcnh,'dd/mm/yyyy',this)"/></td> </tr> <tr> <td>Categoria CNH</td> </tr> <tr> <td><input type="text" size="1" maxlength="1" name="cl_catcnh" value="<? echo @$_SESSION["cl_catcnh"]?>" /></td> </tr> <tr> <td>Observações:</td> </tr> <tr> <td> <textarea style="margin-bottom:10px;" name="cl_obs" rows="4" cols="50" ><? echo @$_SESSION["cl_obs"]?></textarea> </td> </tr> <tr> <td><input type="checkbox" name="cl_ativo" <? echo @$_SESSION["cl_ativo"]?>/> Ativo</td> </tr> </table> </td></tr> <tr><td colspan="2"> <input type="submit" value="Gravar" onclick="doSubmit('colaboradordao.php?acao=gravar');"/> <input type="submit" value="Novo" onclick="doSubmit('colaboradordao.php?acao=novo');"/> <input type="submit" value="Pesquisar" onclick="doSubmit('colaboradorpesq.php?titulo=Pesquisa de Colaboradores');"/> <input type="submit" value="Excluir" onclick="doSubmit('colaboradordao.php?acao=excluir');"/> </td></tr> </table> </form> </div> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Maio 14, 2010 Ricardos, Tanto o de CPF quanto o de CNH, são interessantes que fiquem em um arquivo separado, isso porque você poderá utilizá-los em outros projetos. Como validação de verdade ocorre no lado do servidor, você deverá receber os dados enviados pelo usuário e validá-los: require 'validacoes.php'; //nesse arquivo estarão as funções de validação de CPF e CNH, entre outras $cpf =& $_POST[ 'cpf' ]; $cnh =& $_POST[ 'cnh' ]; if ( !isValidCPF( $cpf ) ) echo 'CPF inválido.'; elseif ( !isValidCNH( $cnh ) ) echo 'CNH inválido'; else { echo 'Tudo ok'; } Compartilhar este post Link para o post Compartilhar em outros sites
Ricardos 0 Denunciar post Postado Maio 14, 2010 Certo eu tenho o arquivo cadastro.php que contém os campos. Nesse eu insiro os códigos que você fez. Depois crio o validacoes.php e coloco aquele outro codigo certo? Desculpa aí a ignorancia. Compartilhar este post Link para o post Compartilhar em outros sites
CACA COBRA 1 Denunciar post Postado Outubro 9, 2010 Existe algum padrão para mascaras de CNH? ou é como o RG? Compartilhar este post Link para o post Compartilhar em outros sites