Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Beleza galera? Estou tentando fazer a validação do CPF, mas está dando um erro, não sei se fiz muito certo, depois de retornar a validação ele teria que fazer a busca no BD, e retornando sim ou não fazer outra ação :/
A validação do CPF está 100%, problema são nos IF/ELSE mesmo.
Mas parece que ta zikado, vou postar o COD.
<?php include 'header.php';
if (isset($_SESSION["cliente"]))
{
?>
<script>
document.location.href="carrinho3.php";
</script>
<?php
/*
@autor: Moacir Selínger Fernandes
Qualquer dúvida é só mandar um email
*/
// Função que valida o CPF
function validaCPF($cpf)
{ // Verifiva se o número digitado contém todos os digitos
$cpf = str_pad(ereg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT);
// Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso
if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999')
{
return false;
}
else
{ // Calcula os números para verificar se o CPF é verdadeiro
for ($t = 9; $t < 11; $t++) {
for ($d = 0, $c = 0; $c < $t; $c++) {
$d += $cpf{$c} * (($t + 1) - $c);
}
$d = ((10 * $d) % 11) % 10;
if ($cpf{$c} != $d) {
return false;
}
}
return true;
}
}if(isset($_POST['btvalidar']))
{// Adiciona o numero enviado na variavel $cpf_enviado, poderia ser outro nome, e executa a função acima
$cpf_enviado = validaCPF($_POST['cpf']);
// Verifica a resposta da função e exibe na tela
if($cpf_enviado == true)
{
$cpf = $_POST["cpf"];
$objCliente = new Cliente();
$retorno = $objCliente->listar("where rcpf ='$cpf'");
if($retorno)
{
$_SESSION["cliente"] = $retorno[0];
?>
<script>
document.location.href="carrinho3.php";
</script>
<?php
}
else {
$mensagem = "Certifique que você digitou um CPF válido, somente números.";
}
}
else {
$mensagem = "";
}
else if($cpf_enviado == false)
echo "CPF FALSO";
}
?>
Obrigado pela atenção.
Carregando comentários...