Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde pessoal do Imasters, beleza?
Pessoal, estou com um grande problema em um sistema de cadastro para envio de news.
Preciso ter um campo para inserir o nome e o e-mail das pessoas, mas só consegui fazer com que um dos itens fossem enviados.
Segue a baixo o código, se puderem dar uma força ficaria grato.
<!--#INCLUDE FILE="includes/bib_conexao2.asp"--> (sistema que chama o banco de dados)
<%
dim conexao
Call abre_conexao
email = Trim(request("email"))
Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.CursorLocation = 3
objRs.CursorType = 0
objRs.LockType = 3
objRs.Open "select email from tbEmails WHERE email='" &email & "'" , Conexao
If objRs.EOF Then
objRs.AddNew
objRs("email") = email
objRs.Update
msg="Email cadastrado!"
Else
msg="Email já existe!"
End If
objRs.close
Set objRs = Nothingresponse.redirect(request.servervariables("HTTP_REFERER") & "?msg=" & msg)
%>
Tentei inserir o campo para o nome de diversas maneiras mas não obtive sucesso em nenhuma delas, dá erro sintax, entre outros.
Enquanto isso vou pesquisando aqui no fórum se acho alguma maneira.
Valeu!
>
Aqui:
objRs.Open "select email from tbEmails WHERE email='" &email & "'"
você está selecionando apenas o e-mail cadastrado no bd, você pode fazer assim:
objRs.Open "select nome, email from tbEmails WHERE email='" &email & "'"
terá o mesmo efeito, pois somente selecionará o nome e email que forem correspondentes ao que recebe do formulario.
Valeu pela atenção Vinicius,
eu havia tentado fazer desta maneira antes, mas o problema continuou o mesmo.
objRs.Open "select nome, email from tbEmails WHERE email='" &email & "'"
Ele só cadastra o e-mail, mas o nome da pessoa fica em branco no meu DB.
Tentei fazer desta maneira, mas tambem não deu certo.
<!--#INCLUDE FILE="includes/bib_conexao2.asp"--> (sistema que chama o banco de dados)
<%
dim conexao
Call abre_conexao
nome = trim(request("nome"))
email = Trim(request("email"))
Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.CursorLocation = 3
objRs.CursorType = 0
objRs.LockType = 3
objRs.Open "select nome, email from tbEmails WHERE email='" &email & "'" , Conexao
If objRs.EOF Then
objRs.AddNew
objRs("email") = email
objRs.Update
msg="Email cadastrado!"
Else
msg="Email já existe!"
End If
objRs.close
Set objRs = Nothingresponse.redirect(request.servervariables("HTTP_REFERER") & "?msg=" & msg)
%>
Valeu!!!
Tentei inserir o campo para o nome de diversas maneiras mas não obtive sucesso em nenhuma delas, dá erro sintax, entre outros.
qual erro é gerado ??
você quer inserir um campo chamado nome no banco de dados, usando a SQL INSERT ??
Testa assim:
If objRs.EOF Then
objRs.AddNew
objRs("email") = email
objRs("nome") = nome
objRs.Update
msg="Email cadastrado!"
Else
msg="Email já existe!"
End If
Não é a forma habitual que faço isso, normalmente uso insert.
Bom Dia pessoal!!!
Era isso Vinicius. Valeu velho, "brigadão" mesmo.
Caso alguém tenha um problema parecido, segue o código final para consulta.
<!--#INCLUDE FILE="includes/bib_conexao2.asp"-->
<%
dim conexao
Call abre_conexao
nome = Trim(request("nome"))
email = Trim(request("email"))
Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.CursorLocation = 3
objRs.CursorType = 0
objRs.LockType = 3
objRs.Open "select nome, email from tbEmails WHERE email='" &email & "'" , Conexao
If objRs.EOF Then
objRs.AddNew
objRs("email") = email
objRs("nome") = nome
objRs.Update
msg="Email cadastrado!"
Else
msg="Email já existe!"
End If
objRs.close
Set objRs = Nothingresponse.redirect(request.servervariables("HTTP_REFERER") & "?msg=" & msg)
%>
beleza, resolvido...
Aqui:
objRs.Open "select email from tbEmails WHERE email='" &email & "'"
você está selecionando apenas o e-mail cadastrado no bd, você pode fazer assim:
objRs.Open "select nome, email from tbEmails WHERE email='" &email & "'"
terá o mesmo efeito, pois somente selecionará o nome e email que forem correspondentes ao que recebe do formulario.