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>É obrigatório o CPF com 11 dí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.........
Pergunta
douglasdamame
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.
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
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.