Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GDonato

Gravar dados apenas com botão enviar

Recommended Posts

Pessoal aqui estou eu novamente pedindo aos amigos do forum ajuda....

Pessoal o seguinte, tenho um formulario criado com sessão, texto etc, e queria colocar um insert apenas quando clicar no botão ENVIAR, como posso fazer???

qdo entra no formulario o insert est´inserindo, mas queria inserir apenas qdo clicar no botao ENVIAR...

 

Valeu pessoal...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode até colocar um <input type="image", para uma imagem e ao clicar dispara o action , onde nesta outra pagina você recupera os dados e dá um INSERT no bd, olha este exemplo:

 

formulario

 

<form name="form1" method="post" action="incluir_action_treina.asp"> 
<table width="99%" border="0" bordercolor="#e6e6e6"> <tr> <td><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com o login: <input type="text" name="login" size="12" maxlength="12"> </font></b></td></tr> 
<tr> <td height="12" bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com sua senha: <input type="password" name="senha" size="8" value="" maxlength="8"> 
</font></b></td></tr> <tr> <td bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com o email: <input type="text" name="email" size="48" maxlength="48"> </font></b></td></tr> 
<tr> <td bordercolor="0"> <div align="center"> 
                <input type="image" border="0" name="imageField" src="imgs/enviar.gif" width="87" height="22" align="middle"> 
</div></td></tr> </table></form></td></tr> </table>
<p> </p>
</body>
</html>

o action para insert

<% 
  Option explicit
   'declaro as var
   dim varlogin, varemail, varsenha, conexao, conDBQ, constring, rsselect, SQLselect, rsinsert, SQLinsert
   'recupero todos os dados
   varlogin=trim(request.form("login"))
   varsenha=trim(request.form("senha"))
   varemail=trim(request.form("email"))
   'crio a conexao
   %>
   <!--#include file="conn/conexao1.asp"-->
   <% 'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rsselect=server.createobject("ADODB.Recordset")
   'crio o SQLselect
   SQLselect="SELECT login FROM login WHERE login='"&varlogin&"'"
   rsselect.open SQLselect,conexao,1,3
   if not rsselect.eof then
   		response.redirect("incluir_form_treina.asp?msgeof=1")
		set rsselect=nothing
   else	
   		'crio o rsinsert para inseiri os dados no bd
   		 set rsinsert=server.createobject("ADODB.Recordset")
		'crio o SQLinsert pra incluir no bd
		SQLinsert="INSERT INTO login(login,senha,email) values('"&varlogin&"','"&varsenha&"','"&varemail&"')"
		rsinsert.open SQLinsert,conexao,1,3
		response.redirect("administracao_treina.asp?msg=1")
		set rsinsert=nothing
	end if 
	call fechaconexao %>

detalhe , neste code, antes de inserir, fazemos um SELECDT no bd, para ter certeza k naun iremos inserir dados repetidos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara obrigado...

mas nao entendi direito, não conheco muito de programação, na verdade estou fazendo como hobby.. rsss

deixa tentar me explicar...no site funciona da seguinte forma, é um site de liga esportiva e um time vai convidar o outro para jogar, consigo enviar o convite de jogo por email, mas queria gravar todos os convites, essa é a parte do form

 

<%
Set rsin = server.createobject("ADODB.Recordset")
convidou = rsusuario("nometime")
convidado = request.QueryString("nometime")
dataconvite = date
datajogo = Request.Form ("data")
nomequadra = rsusuario ("nomequadra")
quadraregiao = rsusuario("quadraregiao")
tipo = rsusuario("temquadra")
categoria = request.QueryString("categoria")
horarioinicio = request.QueryString("horarioinicio")
horariotermino = request.QueryString("horariotermino")
aceito = ("Pendente")
'mensagem = request.QueryString("message")
Message = Request.Form("message")
ip =  Request.ServerVariables("REMOTE_ADDR")
hora = time
codigo = request.QueryString("codigo")
nometime = request.QueryString("nometime")
usuario = rsusuario ("nometime")
login = rsusuario("login")
%>

<%
Set rsin = server.createobject("ADODB.Recordset")
strUsuarios = "INSERT INTO [convite] ([convidou],[convidado],[dataconvite],[datajogo],[nomequadra],[quadraregiao],[tipo],[categoria],[horarioinicio],[horariotermino],[aceito],[mensagem],[ip],[hora]) VALUES ('" &convidou& "','" &convidado& "','" &[date]& "','" &data& "','" &nomequadra& "','" &quadraregiao& "','" &tipo& "','" &categoria& "','" &horarioinicio& "','" &horariotermino& "','" &aceito& "','" &message& "','" &ip& "','" &hora& "')"
response.write (strUsuarios)
objconn.execute(strUsuarios)
%>
Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta gerando algum erro ???

faça assim:

 

INSERT INTO convite (convidou,convidado,dataconvite,datajogo,nomequadra,quadraregiao,tipo,categoria,horarioinicio,horariotermino,aceito,mensagem,ip,hora) VALUES ('" &convidou& "','" &convidado& "','" &[date]& "','" &data& "','" &nomequadra& "','" &quadraregiao& "','" &tipo& "','" &categoria& "','" &horarioinicio& "','" &horariotermino& "','" &aceito& "','" &message& "','" &ip& "','" &hora& "')"

 

depois dê um response.write na string sql para ver o k esta sendo passada

response.write (strUsuarios)
response.end()

e antes de inserir verifique se ja existe os dados, para evitar duplicidade...

faz um SELECT antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcionando ja está, mas quando eu entro no formulario ja grava no banco e eu queria gravar apenas quando o usuario clicasse no botao enviar...

 

Obrigado novamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi. Onde você colocou o código de inserir? Na mesma página do formulário?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.