esse formulario puxa do bd os dados de determinado registro...
reparem q tem 2 "hidden" ai, são tipo paramentros para eu usar na pagina "edit.asp" q ta no action do form...
então, nesse form tem um campo file q é a foto, nesse formulario, eu já to exibindo a foto do cliente já de cara p usuario, e se ele quiser alterar a foto, basta ele escolher outra atraves do campo "file".... a ideia é essa....
no edit.asp tem a seguinte condicao....
se o campo "file" for vazio faz uma atualizacao simples, q ate agora deu certo p mim, agora se tive preenchido o campo(tipo o ususrio escolheu uma outra foto no caso) dai faz a atualizacao junto de um upload.... dai q n da certo.... eis o código...
<!--#include file="conf.asp"-->
<!--#include file="upload_funcoes.asp"-->
<%
Response.expires = -10
Server.ScriptTimeout = 6000000
%>
<%
dim vnome,vcargo,vsetor,vespecialidade,vfoto_apagar,par_cod,conn,FSO,tipo_foto,caminho_foto,nome_foto,foto,MyFile,ScriptObject,sql_query,rs
%>
<% if request.form("foto") = "" then
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DBQ=C:\Inetpub\wwwroot\site_asp\bdados.mdb;Driver={Microsoft Access Driver (*.mdb)}"
par_cod = request.form("codigo")
nome_foto_bd = request.form("nome_foto_bd")
sql_query = "Update tbl_func set nome='" & request.form("nome") & "', setor='" & request.form("setor") & "', cargo = '" & request.form("cargo") & "', especialidade='" & request.form("especialidade") & "', imagem='" & nome_foto_bd & "' where codigo =" & par_cod
set rs = conn.Execute(sql_query)
conn.close
%>
<script>
alert("Dados alterados com sucesso!");
location.href="funcionarios.asp";
</script>
<%
else
%>
<%
'excluindo o arquivo
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile "C:\Inetpub\wwwroot\site_asp\fotos_func\" & nome_foto_bd
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
vnome = UploadRequest.Item("nome").Item("Value")
vsetor = UploadRequest.Item("setor").Item("Value")
vcargo = UploadRequest.Item("cargo").Item("Value")
vespecialidade = UploadRequest.Item("especialidade").Item("Value")
par_cod = UploadRequest.Item("codigo").Item("Value")
' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")
' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")
' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))
' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")
pasta = Server.MapPath("fotos_func")
' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & "\" & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close
end if
'conexao
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DBQ=C:\Inetpub\wwwroot\site_asp\bdados.mdb;Driver={Microsoft Access Driver (*.mdb)}"
'atualizando o registro
sql_query = "Update tbl_func set nome='" & vnome & "', setor='" & vsetor & "', cargo = '" & vcargo & "', especialidade='" & vespecialidade & "', imagem='" & nome_foto & "' where codigo =" & par_cod
set rs = conn.Execute(sql_query)
conn.close
%>
<script>
alert("Dados alterados com sucesso!");
location.href="funcionarios.asp";
</script>
<%
end if
%>
então pessoal, n sei o que ta havendo errado, porque quando atualizo o registro sem fazer upload de outra foto, faz certo, mais a ideia é q se o usuario quiser mudar a foto, ele apague a foto na pasta e coloque esta q ele escolheu, o erro n evidencia nada, só aparece escrito
Pergunta
Steven Tyler
galera, seguinte, tenho uma pagina "editar.asp" e nessa pagina tem o seguinte formulario
esse formulario puxa do bd os dados de determinado registro... reparem q tem 2 "hidden" ai, são tipo paramentros para eu usar na pagina "edit.asp" q ta no action do form... então, nesse form tem um campo file q é a foto, nesse formulario, eu já to exibindo a foto do cliente já de cara p usuario, e se ele quiser alterar a foto, basta ele escolher outra atraves do campo "file".... a ideia é essa.... no edit.asp tem a seguinte condicao.... se o campo "file" for vazio faz uma atualizacao simples, q ate agora deu certo p mim, agora se tive preenchido o campo(tipo o ususrio escolheu uma outra foto no caso) dai faz a atualizacao junto de um upload.... dai q n da certo.... eis o código...então pessoal, n sei o que ta havendo errado, porque quando atualizo o registro sem fazer upload de outra foto, faz certo, mais a ideia é q se o usuario quiser mudar a foto, ele apague a foto na pasta e coloque esta q ele escolheu, o erro n evidencia nada, só aparece escrito
alguém pode me ajudar? !!!
Link para o comentário
Compartilhar em outros sites
2 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.