Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos tenho esse script que não é de minha autoria pra validar o cpf porém ele verifica se os campos são numericos e a repetição dos mesmos porem ele falha em algum ponto que não consigo achar..alguem pode me ajudar?
desde já valeuuuu!!
cpfval.php
CODE
<?php
/*Primeiramente você precisará pegar o número do CPF digitado pelo usuário no form, para isso utilize $_POST[‘cpf’].*/
if($_POST["verOK"]) {
$cpf = $_POST["cpf"]; /*onde $_POST[‘cpf’] se refere ao nome do campo onde o usuário digitou o CPF*/
/Agora vamos verificar se os dados do campo do CPF são apenas números/
if(!is_numeric($cpf)) {
$status = false;
/caso os dados passados não sejam números, você poderá imprimir uma mensagem na tela informando ao usuário que o CPF digitado é inválido, por exemplo/
echo "<script>alert('O número do seu CPF é inválido, tente novamente.'); window.history.go(-1); </script>\n";
/essa mensagem aparecerá na tela do usuário, e quando ele clicar em OK será redirecionado para a última página acessada, no caso, a página de cadastro./
}
else {
/aqui ele verifica se todos os números digitados são iguais, caso sejam, faz o mesmo que na condição anterior/
if( ($cpf == '11111111111') || ($cpf == '22222222222') ||
($cpf == '33333333333') || ($cpf == '44444444444') ||
($cpf == '55555555555') || ($cpf == '66666666666') ||
($cpf == '77777777777') || ($cpf == '88888888888') ||
($cpf == '99999999999') || ($cpf == '00000000000') ) {
$status = false;
echo "<script>alert('O número do seu CPF é inválido, tente novamente.'); window.history.go(-1); </script>\n";
}
else {
/ se todos os testes anteriores retonaram true, então será iniciada a verificação dos números/
/primeiro o script vai pegar o numero do dígito verificador/
$dv_informado = substr($cpf, 9,2);
for($i=0; $i<=8; $i++) {
$digito[$i] = substr($cpf, $i,1);
}
/*Agora será calculado o valor do décimo dígito de verificação*/
$posicao = 10;
$soma = 0;
for($i=0; $i<=8; $i++) {
$soma = $soma + $digito[$i] * $posicao;
$posicao = $posicao - 1;
}
$digito[9] = $soma % 11;
if($digito[9] < 2) {
$digito[9] = 0;
}
else {
$digito[9] = 11 - $digito[9];
}
/*Agora será calculado o valor do décimo primeiro dígito de verificação*/
$posicao = 11;
$soma = 0;
for ($i=0; $i<=9; $i++) {
$soma = $soma + $digito[$i] * $posicao;
$posicao = $posicao - 1;
}
$digito[10] = $soma % 11;
if ($digito[10] < 2) {
$digito[10] = 0;
}
else {
$digito[10] = 11 - $digito[10];
}
/*Nessa parte do script será verificado se o dígito verificador é igual ao informado pelo usuário*/
$dv = $digito[9] * 10 + $digito[10];
if ($dv != $dv_informado) {
$status = false;
/se o DV informado for diferente, então o sistema poderá apresentar uma mensagem como as anteriores avisando ao usuário sobre o CPF errado/
echo "<script>alert('O número do seu CPF é inválido, tente novamente.'); window.history.go(-1); </script>\n";
}
else
$status = true;
/Caso o resultado seja verdadeiro (true), então você deverá executar a operação principal, como por exemplo, cadastrar o usuário no banco de dados, e isso deverá ser feito dentro desse else./
}
}
}
?>
Carregando comentários...