brunocasado Postado Janeiro 17, 2008 Denunciar Share Postado Janeiro 17, 2008 Gente estou com duvidas em validar um cpf... eu sou novato em php e estou lendo um livro o qual passou esse codigo para validaçao porem não explicou como poderei usar em um campo cpf.ai vai o codigo function cpf_errado($cpf) { $erro = false; $aux_cpf = ""; for($j=0; $j<strlen($cpf);$j++) if (substr($cpf, $j, 1)>= "0" and substr($cpf,$j,1)<="9") $aux_cpf .= substr($cpf,$j,1); if (strlen($aux_cpf)!=11) $erro=true; else { $cpf1 = $aux_cpf; $cpf2 = substr($cpf, -2); $controle = ""; $start = 2; $end = 10; for($i=1;$i<=2;$i++) { $soma = 0; for($j=$start;$j<=$end;$j++) $soma += substr($cpf1,($j-$i-1),1)*($end+1+$i-$j); if($i==2) $soma += $digito *2; $digito = ($soma * 10) %11; if($digito==10) $digito = 0; $controle .=$digito; $start = 3; $end = 11; } if($controle!=$cpf2) $erro=true; } return $erro; }como poderei chamar essa funçao em um campo chamado cpf? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Janeiro 17, 2008 Denunciar Share Postado Janeiro 17, 2008 Um exemplo de como utilizar essa função:index.php<?phpfunction cpf_errado($cpf) { $erro = false; $aux_cpf = ""; for($j=0; $j<strlen($cpf);$j++) if (substr($cpf, $j, 1)>= "0" and substr($cpf,$j,1)<="9") $aux_cpf .= substr($cpf,$j,1); if (strlen($aux_cpf)!=11) $erro=true; else { $cpf1 = $aux_cpf; $cpf2 = substr($cpf, -2); $controle = ""; $start = 2; $end = 10; for($i=1;$i<=2;$i++) { $soma = 0; for($j=$start;$j<=$end;$j++) $soma += substr($cpf1,($j-$i-1),1)*($end+1+$i-$j); if($i==2) $soma += $digito *2; $digito = ($soma * 10) %11; if($digito==10) $digito = 0; $controle .=$digito; $start = 3; $end = 11; } if($controle!=$cpf2) $erro=true; } return $erro; }$cpf = $_POST["cpf"];cpf_errado($cpf);?><form name="Teste" action="index.php" method="post"><input type="text" name="cpf"><br /><input type="submit" value="Enviar"></form>[/codebox] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 brunocasado Postado Janeiro 17, 2008 Autor Denunciar Share Postado Janeiro 17, 2008 intao fiz issoele apenas esta chamando a pagina index.phpele não esta dando algum erro apos eu digitar errado... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Allan Rodrigo Postado Janeiro 17, 2008 Denunciar Share Postado Janeiro 17, 2008 intao fiz issoele apenas esta chamando a pagina index.phpele não esta dando algum erro apos eu digitar errado...opa bruno...beleza?faltou você verificar se a função retorna true ou false, veja:true para cpf errado;false para cpf correto;olha como fica o código:<?php function cpf_errado($cpf) { $erro = false; $aux_cpf = ""; for($j=0; $j<strlen($cpf);$j++) if (substr($cpf, $j, 1)>= "0" and substr($cpf,$j,1)<="9") $aux_cpf .= substr($cpf,$j,1); if (strlen($aux_cpf)!=11) $erro=true; else { $cpf1 = $aux_cpf; $cpf2 = substr($cpf, -2); $controle = ""; $start = 2; $end = 10; for($i=1;$i<=2;$i++) { $soma = 0; for($j=$start;$j<=$end;$j++) $soma += substr($cpf1,($j-$i-1),1)*($end+1+$i-$j); if($i==2) $soma += $digito *2; $digito = ($soma * 10) %11; if($digito==10) $digito = 0; $controle .=$digito; $start = 3; $end = 11; } if($controle!=$cpf2) $erro=true; } return $erro; } $cpf = $_POST["cpf"]; if($cpf != ""){ if(cpf_errado($cpf)){ echo "cpf errado"; } else{ echo "cpf correto"; } } ?> <form name="Teste" action="index.php" method="post"> <input type="text" name="cpf"><br /> <input type="submit" value="Enviar"> </form>perceba que antes dos erros fiz uma veirificação se já foi digitado o cpf, pois assim ele não aparece logo que carrega pela primeira vez a página a mensagem "cpf errado", já que a variável $cpf está com valor NULL...beleza???flow, abraço bruno!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
brunocasado
Gente estou com duvidas em validar um cpf... eu sou novato em php e estou lendo um livro o qual passou esse codigo para validaçao porem não explicou como poderei usar em um campo cpf.
ai vai o codigo
como poderei chamar essa funçao em um campo chamado cpf?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.