CADASTRE-SE

Validação de CPF com PHP

3 Comente abaixo Jonathan Lamim (@jlamim)

Nesse artigo irei mostrar como validar um CPF utilizando o PHP, de forma simples e eficiente.

Validar CPF é uma operação muito importante na internet, devido ao grande número de fraudes eletrênicas. Por isso abaixo você verá como fazer essa validação em PHP.

Bons Estudos....




<strong>/*Primeiramente você precisará pegar o número do CPF digitado pelo usuário no form, para isso utilize $_POST[‘cpf’].*/</strong>



$cpf = $_POST[‘cpf’]; <strong>/*onde $_POST[‘cpf’] se refere ao nome do campo onde o usuário digitou o CPF*/</strong>



<strong>/*Agora vamos verificar se os dados do campo do CPF são apenas números*/</strong>



if(!is_numeric($cpf)) {

  $status = false;



<strong>/*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*/</strong>



echo "<script>alert('O número do seu CPF é inválido, tente novamente.'); window.history.go(-1); </script>n";



<strong>/*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.*/</strong>



 }

 else {



 <strong>/*aqui ele verifica se todos os números digitados são iguais, caso sejam, faz o mesmo que na condição anterior*/</strong>



  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 {



<strong>/* 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*/</strong>



   $dv_informado = substr($cpf, 9,2);

   for($i=0; $i<=8; $i++) {

    $digito[$i] = substr($cpf, $i,1);

   }



<strong>   /*Agora será calculado o valor do décimo dígito de verificação*/</strong>



   $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];

   }



  <strong> /*Agora será calculado o valor do décimo primeiro dígito de verificação*/</strong>



   $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];

   }



<strong>  /*Nessa parte do script será verificado se o dígito verificador é igual ao informado pelo usuário*/</strong>



  $dv = $digito[9] * 10 + $digito[10];

  if ($dv != $dv_informado) {

   $status = false;



<strong>/*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*/</strong>



echo "<script>alert('O número do seu CPF é inválido, tente novamente.'); window.history.go(-1); </script>n";

  }

  else

   $status = true;



<strong>/*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.*/</strong>

  }

}


Bem pessoal, espero que tenham gostado.



Recomendamos:
 
Comentários:



TOPO