alexpmj Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 galera estou com esse codigo de validação e ainda não consegui entende-lo, gostaria de ajuda de algum de vocês, tipow tenho que fazer algum form para ser feita a validação ? <? function NomeCPF($CPF) { if ( $fd = @fopen("http://www.receita.fazenda.gov.br/Scripts/srf/cpf/cpf2000.dll?Consultar&CPF=$CPF&indAutoatend=0","r") ) { fread($fd,2229); if ( !strcmp(fread($fd,3),"<b>") ) return fread($fd,60); else return 0; fclose($fd); } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 richenrique Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 script retirado do Imastersfunction CalculaCPF($CampoNumero) { $RecebeCPF=$CampoNumero; //Retirar todos os caracteres que não sejam 0-9 $s=""; for ($x=1; $x<=strlen($RecebeCPF); $x=$x+1) { $ch=substr($RecebeCPF,$x-1,1); if (ord($ch)>=48 && ord($ch)<=57) { $s=$s.$ch; } } $RecebeCPF=$s; if (strlen($RecebeCPF)!=11) { echo "<h1>É obrigatório o CPF com 11 dígitos</h1>"; } else if ($RecebeCPF=="00000000000") { $then; echo "<h1>CPF Inválido</h1>"; } else { $Numero[1]=intval(substr($RecebeCPF,1-1,1)); $Numero[2]=intval(substr($RecebeCPF,2-1,1)); $Numero[3]=intval(substr($RecebeCPF,3-1,1)); $Numero[4]=intval(substr($RecebeCPF,4-1,1)); $Numero[5]=intval(substr($RecebeCPF,5-1,1)); $Numero[6]=intval(substr($RecebeCPF,6-1,1)); $Numero[7]=intval(substr($RecebeCPF,7-1,1)); $Numero[8]=intval(substr($RecebeCPF,8-1,1)); $Numero[9]=intval(substr($RecebeCPF,9-1,1)); $Numero[10]=intval(substr($RecebeCPF,10-1,1)); $Numero[11]=intval(substr($RecebeCPF,11-1,1)); $soma=10*$Numero[1]+9*$Numero[2]+8*$Numero[3]+7*$Numero[4]+6*$Numero[5]+5* $Numero[6]+4*$Numero[7]+3*$Numero[8]+2*$Numero[9]; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado1=0; } else { $resultado1=11-$soma; } if ($resultado1==$Numero[10]) { $soma=$Numero[1]*11+$Numero[2]*10+$Numero[3]*9+$Numero[4]*8+$Numero[5]*7+$Numero[6]*6+$Numero[7]*5+ $Numero[8]*4+$Numero[9]*3+$Numero[10]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado2=0; } else { $resultado2=11-$soma; } if ($resultado2==$Numero[11]) { echo "<h1>CPF Válido</h1>"; } else { echo "<h1>CPF Inválido</h1>"; } } else { echo "<h1>CPF Inválido</h1>"; } } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexpmj Postado Junho 19, 2004 Autor Denunciar Share Postado Junho 19, 2004 muito bom o codigo, agora no caso tenho que fazer um form e chamar esse arquivo? seria isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 muito bom o codigo, agora no caso tenho que fazer um form e chamar esse arquivo? seria isso? então se coloca esse script numa pagina e coloca um nome por exemplovalida_cpf.phpdai na pagina que você quer verificar o cpf se fgaz assim:include "valida_cpf.php";$cpf = $_POST["cpf"];CalculaCPF($cpf); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexpmj Postado Junho 19, 2004 Autor Denunciar Share Postado Junho 19, 2004 show de bola mais olha so o erro que apareceuPHP Warning: main(valida_cpf.php): failed to open stream: No such file or directory in C:\hshome\win20\viapalmas.com.br\teste_php\validarcpf.php on line 85 PHP Warning: main(valida_cpf.php): failed to open stream: No such file or directory in C:\teste_php\validarcpf.php on line 85 PHP Warning: main(): Failed opening 'valida_cpf.php' for inclusion (include_path='.;C:\PHP\pear') in C:\validarcpf.php on line 85 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 você colocou esse nome na pagina: validarcpf.php e você ta chamando pelovalida_cpf.phppor isso ta dando erro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexpmj Postado Junho 19, 2004 Autor Denunciar Share Postado Junho 19, 2004 isso mesmo, olha o erro agoraPHP Fatal error: Cannot redeclare calculacpf() (previously declared in C:\validarcpf.php:3) in C:\validarcpf.php on line 3 <?php function CalculaCPF($CampoNumero) { $RecebeCPF=$CampoNumero; //Retirar todos os caracteres que não sejam 0-9 $s="txtcpf"; for ($x=1; $x<=strlen($RecebeCPF); $x=$x+1) { $ch=substr($RecebeCPF,$x-1,1); if (ord($ch)>=48 && ord($ch)<=57) { $s=$s.$ch; } } $RecebeCPF=$s; if (strlen($RecebeCPF)!=11) { echo "<h1>É obrigatório o CPF com 14 dígitos</h1>"; } else if ($RecebeCPF=="00000000000") { $then; echo "<h1>CPF Inválido</h1>"; } else { $Numero[1]=intval(substr($RecebeCPF,1-1,1)); $Numero[2]=intval(substr($RecebeCPF,2-1,1)); $Numero[3]=intval(substr($RecebeCPF,3-1,1)); $Numero[4]=intval(substr($RecebeCPF,4-1,1)); $Numero[5]=intval(substr($RecebeCPF,5-1,1)); $Numero[6]=intval(substr($RecebeCPF,6-1,1)); $Numero[7]=intval(substr($RecebeCPF,7-1,1)); $Numero[8]=intval(substr($RecebeCPF,8-1,1)); $Numero[9]=intval(substr($RecebeCPF,9-1,1)); $Numero[10]=intval(substr($RecebeCPF,10-1,1)); $Numero[11]=intval(substr($RecebeCPF,11-1,1)); $soma=10*$Numero[1]+9*$Numero[2]+8*$Numero[3]+7*$Numero[4]+6*$Numero[5]+5* $Numero[6]+4*$Numero[7]+3*$Numero[8]+2*$Numero[9]; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado1=0; } else { $resultado1=11-$soma; } if ($resultado1==$Numero[10]) { $soma=$Numero[1]*11+$Numero[2]*10+$Numero[3]*9+$Numero[4]*8+$Numero[5]*7+$Numero[6]*6+$Numero[7]*5+ $Numero[8]*4+$Numero[9]*3+$Numero[10]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado2=0; } else { $resultado2=11-$soma; } if ($resultado2==$Numero[11]) { echo "<h1>CPF Válido</h1>"; } else { echo "<h1>CPF Inválido</h1>"; } } else { echo "<h1>CPF Inválido</h1>"; } } } include "validarcpf.php"; $cpf = $_POST["cpf"]; CalculaCPF($cpf); ?> cofere ai o codigo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 validarcpf.php:<?phpfunction CalculaCPF($CampoNumero) { $RecebeCPF=$CampoNumero; //Retirar todos os caracteres que não sejam 0-9 $s="txtcpf"; for ($x=1; $x<=strlen($RecebeCPF); $x=$x+1) { $ch=substr($RecebeCPF,$x-1,1); if (ord($ch)>=48 && ord($ch)<=57) { $s=$s.$ch; } } $RecebeCPF=$s; if (strlen($RecebeCPF)!=11) { echo "<h1>É obrigatório o CPF com 14 dígitos</h1>"; } else if ($RecebeCPF=="00000000000") { $then; echo "<h1>CPF Inválido</h1>"; } else { $Numero[1]=intval(substr($RecebeCPF,1-1,1)); $Numero[2]=intval(substr($RecebeCPF,2-1,1)); $Numero[3]=intval(substr($RecebeCPF,3-1,1)); $Numero[4]=intval(substr($RecebeCPF,4-1,1)); $Numero[5]=intval(substr($RecebeCPF,5-1,1)); $Numero[6]=intval(substr($RecebeCPF,6-1,1)); $Numero[7]=intval(substr($RecebeCPF,7-1,1)); $Numero[8]=intval(substr($RecebeCPF,8-1,1)); $Numero[9]=intval(substr($RecebeCPF,9-1,1)); $Numero[10]=intval(substr($RecebeCPF,10-1,1)); $Numero[11]=intval(substr($RecebeCPF,11-1,1)); $soma=10*$Numero[1]+9*$Numero[2]+8*$Numero[3]+7*$Numero[4]+6*$Numero[5]+5* $Numero[6]+4*$Numero[7]+3*$Numero[8]+2*$Numero[9]; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado1=0; } else { $resultado1=11-$soma; } if ($resultado1==$Numero[10]) { $soma=$Numero[1]*11+$Numero[2]*10+$Numero[3]*9+$Numero[4]*8+$Numero[5]*7+$Numero[6]*6+$Numero[7]*5+ $Numero[8]*4+$Numero[9]*3+$Numero[10]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado2=0; } else { $resultado2=11-$soma; } if ($resultado2==$Numero[11]) { echo "<h1>CPF Válido</h1>"; } else { echo "<h1>CPF Inválido</h1>"; } } else { echo "<h1>CPF Inválido</h1>"; } } }?>a pagina que vai validarpagina.php:<?include "validarcpf.php";$cpf = $_POST["cpf];CalculaCPF($cpf);?>e outra coisa se precisa criar um form com o campo nome cpf e enviar pra pagina.php aonde vai validar o cpf Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexpmj Postado Junho 19, 2004 Autor Denunciar Share Postado Junho 19, 2004 hoje eu não vou dormir clica aê testeta louco meu!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 então eu testei e ta funcionando beleza era só isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexpmj Postado Junho 19, 2004 Autor Denunciar Share Postado Junho 19, 2004 Ai Irmão foi mal era a maquina que estava dando pro,valeu fico grato pela ajuda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 O unico problema deste verificador é que tem alguns numeros que diz que é válido como CPF que na verdade não. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
alexpmj
galera estou com esse codigo de validação e ainda não consegui entende-lo, gostaria de ajuda de algum de vocês, tipow tenho que fazer algum form para ser feita a validação ?
<?
function NomeCPF($CPF)
{
if ( $fd = @fopen("http://www.receita.fazenda.gov.br/Scripts/srf/cpf/cpf2000.dll?Consultar&CPF=$CPF&indAutoatend=0","r") )
{
fread($fd,2229);
if ( !strcmp(fread($fd,3),"<b>") )
return fread($fd,60);
else
return 0;
fclose($fd);
}
}
?>
Link para o comentário
Compartilhar em outros sites
11 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.