Ir para conteúdo
Fórum Script Brasil
  • 0

Validar Cpf


douglasdamame

Pergunta

Olá,

Estou tentando fazer uma validação do CPF que esta sendo cadastrado. Busquei aqui um Script e testando ele separadamente sei que funciona, mas ao colocar no meu código ele simplesmente não valida, passando direto se cadastrando o usuário. O campo que esta sendo preenchido se chama CPF.

 <% 

db = "database/mercadonautico" 'caminho pro db sem .mdb, NÀO MUDE

                   Set Conexao = CreateObject("ADODB.CONNECTION")
conStr ="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath(db)
ConexaoAberta = FALSE
Sub AbreConexao()
	if not ConexaoAberta then
	Conexao.Open ConStr
	ConexaoAberta = True
	end if
end sub
Sub FechaConexao()
	if ConexaoAberta then
	Conexao.close
	ConexaoAberta = False
	end if
end sub 
                  AbreConexao
If request.form("enviado") = "sim" Then
Cadastrado =False
set Dicionario = CreateObject("scripting.dictionary")
i = 0

Sql = "SELECT Login FROM user WHERE Login = '"&Request.form("Login")&"'"
set Rs =Conexao.Execute(Sql)
If not Rs.Eof then
Dicionario.add i, "-  O Login : <b>" & Request.Form("login") & " </b> já esta Cadastrado no nosso Banco de Dados !"
i= i+1
end if

Sql = "SELECT email FROM user WHERE email = '"&Request.form("email")&"'"
set Rs =Conexao.Execute(Sql)
If not Rs.Eof then
Dicionario.add i, "- O E-mail : <b>" & Request.Form("email") & " </b> já esta cadastrado no nosso Banco de Dados !"
i= i+1
end if

Sql = "SELECT cpf FROM user WHERE cpf = '"&Request.form("cpf")&"'"
set Rs =Conexao.Execute(Sql)
If not Rs.Eof then
Dicionario.add i, "- O CPF : <b>" & Request.Form("cpf") & " </b> já esta cadastrado no nosso Banco de Dados !"
i= i+1
end if

     
' O PROBLEMA COMEÇA QUI !!!!!

'|///////////////////////////////////////////////////////////|
'| |
'| Funcao para Verificar CPF |
'| |
'|///////////////////////////////////////////////////////////|

function CalculaCPF()

Dim RecebeCPF, Numero(11), soma, resultado1, resultado2

RecebeCPF = Request.form("cpf")

'Retirar todos os caracteres que não sejam 0-9

s="" 
for x=1 to len(RecebeCPF)
ch=mid(RecebeCPF,x,1)
if asc(ch)>=48 and asc(ch)<=57 then
s=s & ch
end if
next
RecebeCPF = s

if len(RecebeCPF) <> 11 then
response.write("<h1>&Eacute; obrigat&oacute;rio o CPF com 11 d&iacute;gitos</h1>")
elseif RecebeCPF = "00000000000" then
response.write("<h1>CPF Inválido</h1>")
else

Numero(1) = Cint(Mid(RecebeCPF,1,1))
Numero(2) = Cint(Mid(RecebeCPF,2,1))
Numero(3) = Cint(Mid(RecebeCPF,3,1))
Numero(4) = Cint(Mid(RecebeCPF,4,1))
Numero(5) = Cint(Mid(RecebeCPF,5,1))
Numero(6) = CInt(Mid(RecebeCPF,6,1))
Numero(7) = Cint(Mid(RecebeCPF,7,1))
Numero(8) = Cint(Mid(RecebeCPF,8,1))
Numero(9) = Cint(Mid(RecebeCPF,9,1))
Numero(10) = Cint(Mid(RecebeCPF,10,1))
Numero(11) = Cint(Mid(RecebeCPF,11,1))


soma = 10 * Numero(1) + 9 * Numero(2) + 8 * Numero(3) + 7 * Numero(4) + 6 * Numero(5) + 5 * Numero(6) + 4 * Numero(7) + 3 * Numero(8) + 2 * Numero(9)

soma = soma -(11 * (int(soma / 11)))

if soma = 0 or soma = 1 then
resultado1 = 0
else
resultado1 = 11 - soma
end if

if resultado1 = Numero(10) then

soma = Numero(1) * 11 + Numero(2) * 10 + Numero(3) * 9 + Numero(4) * 8 + Numero(5) * 7 + Numero(6) * 6 + Numero(7) * 5 + Numero(8) * 4 + Numero(9) * 3 + Numero(10) * 2

soma = soma -(11 * (int(soma / 11)))

if soma = 0 or soma = 1 then
resultado2 = 0
else
resultado2 = 11 - soma
end if

if resultado2 = Numero(11) then

else
Dicionario.add i, "- O CPF : <b>" & Request.Form("cpf") & " </b> É Inválido !"
i= i+1
end if
else 
Dicionario.add i, "- O CPF : <b>" & Request.Form("cpf") & " </b> É Inválido !"
i= i+1
end if
end if

end function

' FIM DO MEU PROBLEMA..... RSRSRSRS


Vet = Dicionario.items
if Dicionario.Count<>0 then
Response.Write "<Left><font face=Tahoma size=1>"
Response.Write "<b>ATENÇÃO:</b><br>Encontramos o(s) seguinte(s) Problema(s) no seu Cadastro:<br><BR><br>"
for i = 0 to Dicionario.Count - 1
Response.Write vet(i) & "<BR><br>"
next
response.write "<BR><br>"
response.write "Por favor, <a href=javascript:self.history.go(-1)><b><font size=1 color=990000>Clique Aqui</font></b></a> para retornar e corrigir.<br><br>"
response.write "Caso os dados estejam corretos, clique em   <a href=login.asp><img src=imagens/button_login.gif width=45 height=20 border=0></a>  para fazer seu Login.<br><br>"

Else
Sql = "INSERT INTO user (login, senha, nome, sobrenome, dia, mes, ano, cpf, email, endereco, numero, bairro, cidade, estado, cep, telefone) "
Sql = Sql & "VALUES('" & Request.Form("login") & "', '" & Request.Form("senha") & "', '" & Request.Form("nome") & "', '" & Request.Form("sobrenome") & "', '" & Request.Form("dia") & "', '" & Request.Form("mes") & "', '" & Request.Form("ano") & "', '" & Request.Form("cpf") & "', '" & Request.Form("email") & "', '" & Request.Form("endereco") & "', '" & Request.Form("numero") & "', '" & Request.Form("bairro") & "','" & Request.Form("cidade") & "', '" & Request.Form("estado") & "', '" & Request.Form("cep") & "' , '" & Request.Form("telefone") & "' )" 
Conexao.Execute(Sql)
Cadastrado = True
End If
End If
If Cadastrado = False Then 
Else

email = request.form("email")



Set MyCDONTSMail = CreateObject("CDONTS.NewMail")

' Aqui é enviado os dados por e-mail 

O sistema ta funcionando, verificando se já existe no BD, cadastrando e enviando por e-mail, mas não valida um CPF por exemplo: 111.111.111-11.....

Se puderem me ajudar, serei muito grato eternamente.........

Douglas

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olhei por cima mas ta faltando uma linha, acho que o gato comeu.

function CalculaCPF()

Dim RecebeCPF, Numero(11), soma, resultado1, resultado2

RecebeCPF = Request.form("cpf")

'Retirar todos os caracteres que não sejam 0-9

s=""

for x=1 to len(RecebeCPF)

ch=mid(RecebeCPF,x,1)

if asc(ch)>=48 and asc(ch)<=57 then

s=s & ch

end if

next

RecebeCPF = s

if len(RecebeCPF) <> 11 then

response.write("<h1>&Eacute; obrigat&oacute;rio o CPF com 11 d&iacute;gitos</h1>")

elseif RecebeCPF = "00000000000" then

response.write("<h1>CPF Inválido</h1>")

else

Numero(1) = Cint(Mid(RecebeCPF,1,1))

Numero(2) = Cint(Mid(RecebeCPF,2,1))

Numero(3) = Cint(Mid(RecebeCPF,3,1))

Numero(4) = Cint(Mid(RecebeCPF,4,1))

Numero(5) = Cint(Mid(RecebeCPF,5,1))

Numero(6) = CInt(Mid(RecebeCPF,6,1))

Numero(7) = Cint(Mid(RecebeCPF,7,1))

Numero(8) = Cint(Mid(RecebeCPF,8,1))

Numero(9) = Cint(Mid(RecebeCPF,9,1))

Numero(10) = Cint(Mid(RecebeCPF,10,1))

Numero(11) = Cint(Mid(RecebeCPF,11,1))

soma = 10 * Numero(1) + 9 * Numero(2) + 8 * Numero(3) + 7 * Numero(4) + 6 * Numero(5) + 5 * Numero(6) + 4 * Numero(7) + 3 * Numero(8) + 2 * Numero(9)

soma = soma -(11 * (int(soma / 11)))

if soma = 0 or soma = 1 then

resultado1 = 0

else

resultado1 = 11 - soma

end if

if resultado1 = Numero(10) then

soma = Numero(1) * 11 + Numero(2) * 10 + Numero(3) * 9 + Numero(4) * 8 + Numero(5) * 7 + Numero(6) * 6 + Numero(7) * 5 + Numero(8) * 4 + Numero(9) * 3 + Numero(10) * 2

soma = soma -(11 * (int(soma / 11)))

if soma = 0 or soma = 1 then

resultado2 = 0

else

resultado2 = 11 - soma

end if

if resultado2 = Numero(11) then

Aqui CPF válido

else

Dicionario.add i, "- O CPF : <b>" & Request.Form("cpf") & " </b> É Inválido !"

i= i+1

end if

else

Dicionario.add i, "- O CPF : <b>" & Request.Form("cpf") & " </b> É Inválido !"

i= i+1

end if

end if

end function

blink.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...