<% 'Aqui abrimos a conexão com nosso banco de dados Set Conex = Server.CreateObject ("ADODB.Connection") Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("promocoes.mdb") 'Coletamos os dados do formulário nome = request("nome") sexo = request("sexo") email = request("email") telefone = request("telefone") celular = request("celular") cidade = request("cidade") estado = request("estado") endereco = request("endereco") blusa = request("blusa") 'Verificamos os dados if nome = "" then alerta = alerta + "<span class=conteudo>*Nome completo<br>" end if if sexo = "" then alerta = alerta + "<span class=conteudo>*Sexo<br>" end if if blusa = "" then alerta = alerta + "<span class=conteudo>*Blusa<br>" end if if telefone = "" then alerta = alerta + "<span class=conteudo>*Telefone Residencial<br>" end if if cidade = "" then alerta = alerta + "<span class=conteudo>*Cidade<br>" end if if estado = "" then alerta = alerta + "<span class=conteudo>*Estado<br>" end if if endereco = "" then alerta = alerta + "<span class=conteudo>*Endereço<br>" end if if instr(email,"@") = 0 then alerta = alerta + "<span class=conteudo>*E-mail (inválido)" end if 'Se não forem encontrados erros ele executa as instruções abaixo if alerta = "" then Set cadastra = Server.CreateObject("ADODB.Recordset") sql = "Select * from promocoes" cadastra.open sql, conex, 3,3 cadastra.addnew cadastra("nome") = nome cadastra("sexo") = sexo cadastra("email") = email cadastra("telefone") = telefone cadastra("celular") = celular cadastra("cidade") = cidade cadastra("estado") = estado cadastra("endereco") = endereco cadastra("blusa") = blusa cadastra.update 'Exibe uma mensagem de que o cadastro foi realizado alerta = ("<span class=conteudo><b>Parabéns "& nome &"! Você concorrerá a brindes. Todo mês os ganhadores aparecerão aqui.") end if 'Exibe as mensagens na tela response.Write(alerta) response.Write("<br>") %>

Evitar Duplicação
Started By luc_hcore, 15/08/2005, 23:07
4 replies to this topic
#1
Posted 15/08/2005, 23:07
Bem galera tenho um formulário em HTML que joga informações para a página de resposta abaixo. Como faço para evitar que dois e-mails iguais sejam cadastrados?
A vida é a soma de suas escolhas.
#2
Posted 16/08/2005, 00:04
Esse codigo vai abaixo do if alerta = "" then
[]'s
Set Verifica = Server.CreateObject("ADODB.Recordset") sql = "Select * from promocoes where email ='"&email"'" If Verifiva.EOF Then ' aqui vai o codigo que adiciona o novo registro Else Reponse.Write "E-Mail já cadastrado na promoção" End If
[]'s
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)
#3
Posted 20/08/2005, 18:16
Brother coloquei o código q vc postou e apareceu isso ahee no IIS:
Ñ entendi nda...
line 59:
Código completo que testei dessa vez:
Tipo de erro: ADODB.Recordset (0x800A0E78) Operação não permitida quando o objeto está fechado. promocoes.asp, line 59
Ñ entendi nda...
line 59:
If Verifica.EOF Then
Código completo que testei dessa vez:
<% 'Aqui abrimos a conexão com nosso banco de dados Set Conex = Server.CreateObject ("ADODB.Connection") Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("promocoes.mdb") 'Coletamos os dados do formulário nome = request("nome") sexo = request("sexo") email = request("email") telefone = request("telefone") celular = request("celular") cidade = request("cidade") estado = request("estado") endereco = request("endereco") blusa = request("blusa") 'Verificamos os dados if nome = "" then alerta = alerta + "<span class=conteudo>*Nome completo<br>" end if if sexo = "" then alerta = alerta + "<span class=conteudo>*Sexo<br>" end if if blusa = "" then alerta = alerta + "<span class=conteudo>*Blusa<br>" end if if telefone = "" then alerta = alerta + "<span class=conteudo>*Telefone Residencial<br>" end if if cidade = "" then alerta = alerta + "<span class=conteudo>*Cidade<br>" end if if estado = "" then alerta = alerta + "<span class=conteudo>*Estado<br>" end if if endereco = "" then alerta = alerta + "<span class=conteudo>*Endereço<br>" end if if instr(email,"@") = 0 then alerta = alerta + "<span class=conteudo>*E-mail (inválido)" end if 'Se não forem encontrados erros ele executa as instruções abaixo if alerta = "" then ' aqui vai o codigo que verifica se o email ja esta cadastrado Set Verifica = Server.CreateObject("ADODB.Recordset") sql = "Select * from promocoes where email ='"&email&"'" If Verifica.EOF Then Else Response.Write "E-Mail já cadastrado na promoção" End If ' aqui vai o codigo que cadastra Set cadastra = Server.CreateObject("ADODB.Recordset") sql = "Select * from promocoes" cadastra.open sql, conex, 3,3 cadastra.addnew cadastra("nome") = nome cadastra("sexo") = sexo cadastra("email") = email cadastra("telefone") = telefone cadastra("celular") = celular cadastra("cidade") = cidade cadastra("estado") = estado cadastra("endereco") = endereco cadastra("blusa") = blusa cadastra.update 'Exibe uma mensagem de que o cadastro foi realizado alerta = ("<span class=conteudo><b>Parabéns "& nome &"! Você concorrerá a brindes. Todo mês os ganhadores aparecerão aqui.") end if 'Exibe as mensagens na tela response.Write(alerta) response.Write("<br>") %>
A vida é a soma de suas escolhas.
#4
Posted 23/08/2005, 09:19
Entaum, testei tb o código mencionado e tb não deu certo, deu o mesmo erro, será que alguem sabe onde esta o erro?
Só que meu script esta um pouco diferente:
<%
nom = Request.form("nom")
rg = Request.form("rg")
ende = Request.form("ende")
bai = Request.form("bai")
cid = Request.form("cid")
est = Request.form("est")
cep = Request.form("cep")
tel = Request.form("tel")
dna = Request.form("dna")
ema = Request.form("ema")
eci = Request.form("eci")
pro = Request.form("pro")
opcao = Request.form("opcao")
opcao2 = Request.form("opcao2")
If ende = "" then ende = "Não Informado" End If
If bai = "" then bai = "Não Informado" End If
If cid = "" then cid = "Não Informado" End If
If est = "" then est = "Não Informado" End If
If cep = "" then cep = "Não Informado" End If
If dna = "" then dna = "Não Informado" End If
If ema = "" then ema = "Não Informado" End If
If eci = "" then eci = "Não Informado" End If
If pro = "" then pro = "Não Informado" End If
If opcao = "" then opcao = "Não Informado" End If
If opcao2 = "" then opcao2 = "Não Informado" End If
set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open(StringdeConexao)
ComandoSQL = "INSERT INTO caminhada (nom, rg, tel, ema, ende, bai, cid, est, cep, dnas, eciv, pro, opcao, opcao2) VALUES ('"&nom&"', '"&rg&"', '"&ende&"', '"&bai&"', '"&cid&"', '"&est&"', '"&cep&"', '"&tel&"', '"&dna&"', '"&ema&"', '"&eci&"', '"&pro&"', '"&opcao&"', '"&opcao2&"') "
Conexao.Execute ComandoSQL
O código deve mudar creio eu, podem me ajudar aí?
Só que meu script esta um pouco diferente:
<%
nom = Request.form("nom")
rg = Request.form("rg")
ende = Request.form("ende")
bai = Request.form("bai")
cid = Request.form("cid")
est = Request.form("est")
cep = Request.form("cep")
tel = Request.form("tel")
dna = Request.form("dna")
ema = Request.form("ema")
eci = Request.form("eci")
pro = Request.form("pro")
opcao = Request.form("opcao")
opcao2 = Request.form("opcao2")
If ende = "" then ende = "Não Informado" End If
If bai = "" then bai = "Não Informado" End If
If cid = "" then cid = "Não Informado" End If
If est = "" then est = "Não Informado" End If
If cep = "" then cep = "Não Informado" End If
If dna = "" then dna = "Não Informado" End If
If ema = "" then ema = "Não Informado" End If
If eci = "" then eci = "Não Informado" End If
If pro = "" then pro = "Não Informado" End If
If opcao = "" then opcao = "Não Informado" End If
If opcao2 = "" then opcao2 = "Não Informado" End If
set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open(StringdeConexao)
ComandoSQL = "INSERT INTO caminhada (nom, rg, tel, ema, ende, bai, cid, est, cep, dnas, eciv, pro, opcao, opcao2) VALUES ('"&nom&"', '"&rg&"', '"&ende&"', '"&bai&"', '"&cid&"', '"&est&"', '"&cep&"', '"&tel&"', '"&dna&"', '"&ema&"', '"&eci&"', '"&pro&"', '"&opcao&"', '"&opcao2&"') "
Conexao.Execute ComandoSQL
O código deve mudar creio eu, podem me ajudar aí?
Edição feita por: spider_72, 23/08/2005, 09:34.
#5
Posted 23/08/2005, 11:03
o generation passou certo..vc q errou ao inserir no seu code:
tenta:
mas pegue a logica do lance q ta nos coments.
tenta:
<% 'Aqui abrimos a conexão com nosso banco de dados Set Conex = Server.CreateObject ("ADODB.Connection") Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("promocoes.mdb") 'Coletamos os dados do formulário nome = request("nome") sexo = request("sexo") email = request("email") telefone = request("telefone") celular = request("celular") cidade = request("cidade") estado = request("estado") endereco = request("endereco") blusa = request("blusa") 'Verificamos os dados if nome = "" then alerta = alerta + "<span class=conteudo>*Nome completo<br>" end if if sexo = "" then alerta = alerta + "<span class=conteudo>*Sexo<br>" end if if blusa = "" then alerta = alerta + "<span class=conteudo>*Blusa<br>" end if if telefone = "" then alerta = alerta + "<span class=conteudo>*Telefone Residencial<br>" end if if cidade = "" then alerta = alerta + "<span class=conteudo>*Cidade<br>" end if if estado = "" then alerta = alerta + "<span class=conteudo>*Estado<br>" end if if endereco = "" then alerta = alerta + "<span class=conteudo>*Endereço<br>" end if if instr(email,"@") = 0 then alerta = alerta + "<span class=conteudo>*E-mail (inválido)" end if 'Se não forem encontrados erros ele executa as instruções abaixo 'if alerta = "" then ' aqui vai o codigo que verifica se o email ja esta cadastrado Set Verifica = Server.CreateObject("ADODB.Recordset") sql2 = "Select * from promocoes where email ='"&email&"'" Verifica.open sql2, conex, 3,3 If Verifica.EOF Then ' (aqui vc diz q se for vazio, logo é pq nao existe um e-mail igual ao digitado, aí vc coloca abaixo o insert: ' aqui vai o codigo que cadastra Set cadastra = Server.CreateObject("ADODB.Recordset") sql = "Select * from promocoes" cadastra.open sql, conex, 3,3 cadastra.addnew cadastra("nome") = nome cadastra("sexo") = sexo cadastra("email") = email cadastra("telefone") = telefone cadastra("celular") = celular cadastra("cidade") = cidade cadastra("estado") = estado cadastra("endereco") = endereco cadastra("blusa") = blusa cadastra.update 'Exibe uma mensagem de que o cadastro foi realizado alerta = ("<span class=conteudo><b>Parabéns "& nome &"! Você concorrerá a brindes. Todo mês os ganhadores aparecerão aqui.") Else ' se nao vc da a msg e naod eixa cadastrar o e-mail pq ja existe Response.Write "E-Mail já cadastrado na promoção <br><br>link para voltar" response.end End If 'end if 'Exibe as mensagens na tela 'response.Write(alerta) 'response.Write("<br>") %>
mas pegue a logica do lance q ta nos coments.
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)