/*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 "<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.*/
}
}
Formulário flash + php
Formulário de envio de Email - Dreamweaver + PHP
Montando Álbum de fotos em php
Colocando um formulário de contato em seu site, usando o mail() do php
Formulário de Email em PHP com resposta automática

Jonathan Lamim Antunes
Web Designer e Programador Web (PHP/MySQL) e Desktop (Delphi). Além de professor de informática.
» Site do colunista
Todas as matérias de Jonathan Lamim Antunes



© 2005 - 2008 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.
Adriano
Publicado em: 21/05/2008 - 06:28
bem eu rodei esse codigo e parabens a maioria dos tutoriais sobre o assunto não explica com comentario cada linha de codigo, eu sou iniciante em php e não consegui rodar o codigo quando eu acessei a pagina pelo localhost já apareceu a caixa de mensagem cpf invalido digite novamente, como posso corrigir esse problema, já que sou iniciante e não sei como fazer. obrigado