Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Robson Martins

Validação de CEP

Recommended Posts

Ola boa noite amigos.

Sou novato em PHP .

Gostaria de poder criar uma aplicação de validasse um determinado numero de CEP

 

Seria assim teria um form com um campo cep onde a pessoa digitaria seu cep mais se o cep dele não tive se catalogado no sistema ele não deixaria ir para o outro form para finalizar o cadastro

 

Exemplo de " cep 04809-130,04809-131, 04809-132"

 

Então o sistema informa " Cep não cadastrado no sistema"

Mais se o cep informado dor 04809-133 ele passa para o outro form

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu sitema?

É só fazer uma DB, cadastrar os CEPs e consultar quando for logar.

De preferencia, use md5.

Da um header('Location: form2.php') se o MySql der 1.

Se tiver dificuldades, pode MODIFICAR um de login que seja freeware.

 

Se for no da Receita, não há soluções atualmente.

Funcionava antes um cURL, mas agora não recebemos nada.

 

Tenho um script intereçante para Validar os ceps.

um cep valido é 123.123.123-87, leia o algoritimo do CEP para saber por que.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
// Pegando o CPF que o usuario forneceu e filtrando-o
$t_cpf = $_GET['cpf'];

// Função para sair do script
function exitar($causa){
echo 'CPF <span style="color: #F00; font-weight: bold;">Invalido</span>! Por que '.$causa;
exit;
}
if($t_cpf== "111.111.111-11" or $t_cpf== "222.222.222-222" or $t_cpf== "333.333.333-333" or $t_cpf == "444.444.444-44" or $t_cpf == "555.555.555-55")
{
exitar(" o CPF é uma sequencia de numeros(exp : 111.111.111-111)";
}
// Começando verificação leve
// Se as letras do CPF contarem mais que 11, ou menos que 11
if(strlen($t_cpf) != 14)
{
$causa="tinha menos que 14 letras(com os .'s e -'s).";
exitar($causa);
}

// Começando verificação pesada
// Tirando os "." e os "-" do CPF.
$cpf = $t_cpf;
$cpf = str_replace('.', null, $cpf);
$cpf = str_replace('-', null, $cpf);
// 21333314680

$dv = substr($cpf, -2);
// 80

$cpf = substr($cpf, 0, -2);
// 213333146



// Soma dos valores do CPF
$somas = array(
$cpf{0} * 10,
$cpf{1} * 9,
$cpf{2} * 8,
$cpf{3} * 7,
$cpf{4} * 6,
$cpf{5} * 5,
$cpf{6} * 4,
$cpf{7} * 3,
$cpf{8} * 2
);

$soma = $somas[0]+$somas[1]+$somas[2]+$somas[3]+$somas[4]+$somas[5]+$somas[6]+$somas[7]+$somas[8];
$total = $soma / 11;
$resto = $soma % 11;
if($resto < 2)
{
$phpDV = 0;
} else 
{
$phpDV = 11 - $resto;
}
// Primeiro digito OK.
// Calculando o segundo digito
$somas = array(
$cpf{0} * 11,
$cpf{1} * 10,
$cpf{2} * 9,
$cpf{3} * 8,
$cpf{4} * 7,
$cpf{5} * 6,
$cpf{6} * 5,
$cpf{7} * 4,
$cpf{8} * 3,
$phpDV * 2
);
$soma = $somas[0]+$somas[1]+$somas[2]+$somas[3]+$somas[4]+$somas[5]+$somas[6]+$somas[7]+$somas[8]+$somas[9];
$total = $soma / 11;
$resto = $soma % 11;

if($resto < 2)
{
$phpDV .= 0;
} else 
{
$phpDV .= 11 - $resto;
}

if($dv == $phpDV)
{
echo "CPF <span style=\"color: #F00; font-weight: bold;\">Valido</span>"."Por que o \$phpDV era: \"".$phpDV."\" e o \$dv era: \"".$dv."\"";
} else
{
$causa="o \$phpDV era: \"".$phpDV."\" e o \$dv era: \"".$dv."\"";
exitar($causa);
}
?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.