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....


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

$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 "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 "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 "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.*/
}
}



Bem pessoal, espero que tenham gostado.