Ir para conteúdo

POWERED BY:

Arquivado

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

rickgodoy84

Upload de arquivo + Gravar dados no BD

Recommended Posts

Pessoal,

 

Achei vários tópicos no forum que me ajudaram a chegar aonde estou, mas não consigo deixar redondo, funcionando 100%.

 

Tenho uma página chamada indexup.ASP aonde está a FORM com os campos que devem ser gravados no BD ACCESS, e o campo que procura o arquivo que deve ser feito upload para uma determinanda pasta.

 

Acontece que tenho que usar o SaFileUp, pois o site está na Locaweb e quando usamos este componente não podemos usar REQUEST.FORM entre outros comandos, pelo que andei vendo.

 

O arquivo está chegando na pasta destino, mas os dados não são gravados no banco.

 

A action do form manda pro upload.ASP que da response.redirect para inclui.ASP que deveria gravar os dados no BD.

 

Tem como deixar tudo em uma só página que seria a action da form?

 

O que está errado?

 

Podem me ajudar?

 

// ARQUIVO UPLOAD.ASP -> ESTE FAZ UPLOAD DO ARQUIVOS SEM PROBLEMAS!!!
<%
dim nome,cat_id,codigo,descricao,dimensoes,disp
Set upl = Server.CreateObject("SoftArtisans.FileUp")
upl.Path = "e:\home\brz12\web\xxx\upload"
upl.Save

nome = upl.form("nome")
cat_id = upl.form("cat_id")
codigo = upl.form("codigo")
descricao = upl.form("descricao")
dimensoes = upl.form("dimensoes")
disp = upl.form("disp")

Response.Redirect("http://www.brz1.com.br/loja/admin/inclui.asp")
Set upl = Nothing
%>

 

 

<%
// Este arquivo é o INCLUI.ASP que deveria gravar os dados no banco mas não grava

Dim acao,lista_categoria,upl
acao = Request.QueryString("acao")
If acao="incluir" Then
	If (Request.Form("cat_id") = "nulo") Then acao = "erro" End If
	If (Request.Form("nome") = "") Then acao = "erro" End If
	If (Request.Form("codigo") = "") Then acao = "erro" End If
	If (Request.Form("descricaog") = "") Then acao = "erro" End If
	If (Request.Form("dimensoes") = "") Then acao = "erro" End If
	If (Request.Form("disp") = "") Then acao = "erro" End If
	cat_id = Request.Form("cat_id")
	nome = Request.Form("nome")
	codigo = Request.Form("codigo")
	descricaog = Request.Form("descricaog")
	dimensoes = Request.Form("dimensoes")
	disp = Request.Form("disp")
End If
If acao = "incluir" AND cat_id = "nulo" Then
	%>
	<tr width=100%><td width=100% valign=top><font color=red>Selecione uma categoria.</font></td></tr>
		<%
		acao = "erro"
End If
If acao = "erro" Then 
	%>
	<tr width=100%><td width=100% valign=top><font color=red>Problema no preenchimento do formulário.</font></td></tr>
		<%
End If
If acao = "incluir" Then
	Dim chk_prod,cat_id,nome,codigo,descricaog,dimensoes,disp
	set chk_prod = lojaDB.Execute("SELECT nome FROM produtos WHERE nome='"& Request.Form("nome") & "'")
	If Not (chk_prod.EOF) Then 
		%>
		<tr width=100%><td width=100% valign=top><font color=red>Já existe um outro produto cadastrado com esse nome.</font></td></tr>
		<%
	Else
		lojaDB.Execute("INSERT INTO produtos(cat_id,nome,codigo,descricaog,dimensoes,disp)" & _
					"VALUES('" & cat_id & "','" & nome & "','" & codigo & "','" & _
					descricaog & "','" & dimensoes & "','" & disp & "')")
		%>
		<tr width=100%><td width=100% valign=top><h3>O produto foi cadastrado com sucesso</h3></td></tr>
		<%
		acao = "ok"
	End If
End If
%>

Se puderem me ajudar, fico muito grato!

 

obrigado!

 

Richard

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se tivesse meu ouvido quando te ajudei na comu do Orkut... e tivesse se interessado um pouco por AJAX... já teria resolvido isso...

 

Tenho um código PRONTO aki que faz isso... mas como disse anteriormente.. é em AJAX....

 

Tentou passar os valores via Query String para a página que faz a gravação no BD ?

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Darkdemo,

 

tá em todas! rs...

 

Ouvi sim a dica que me deu sobre AJAX, já peguei algumas apostilas e comecei a ler, mas tenho que resolver isto o quanto antes então acho mais fácil tentar em ASP.

 

Vamos deixar de lado por enquanto a terceira página que adiciona os dados no banco.

Quero ver se a segunda página que faz o upload está recebendo os dados da form.

Só um teste.

 

Na primeira página aonde está o form não tenho que dar request.querystring em nada, daí na segunda fiz o seguinte:

 

nome  = Request.QueryString("nome")
cat_id = Request.QueryString("categoria")
codigo = Request.QueryString("codigo")
descricao = Request.QueryString("descricao")
dimensoes = Request.QueryString("dimensoes")
disp = Request.QueryString("disp")
e dei

 

response.write("nome")

mas não aparece o que foi digitado na form...ele me joga 'nome' na tela.

 

Quer dizer que não está recebendo nada da form, certo?

tem algo errado ai?

 

obrigado.

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.