- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Problema passaggio variabile da form a pagina successiva..upload file & scrittura DB
-
Problema passaggio variabile da form a pagina successiva..upload file & scrittura DB
Ciao ragazzi ho un problema, devo fare l'upload di una immagine e per farlo ho realizzato questo codice:
<body topmargin="0" leftmargin="0"> <!--#include virtual="/conn.asp" --> <% Set Rs = Conn.Execute("SELECT * FROM architettura WHERE nome_immagine = '"&Request("nome_immagine")&"'") %> <!--<form name="modulo" method="post" action="architetturaThumbnail.asp">--> <FORM METHOD="post" ENCTYPE="multipart/form-data" ACTION="architetturaUploadThumbnail.asp?id_file=<%=Rs("id_file")%>"> <table width="450" border="0" cellspacing="4" cellpadding="4" align="center" class="tabe"> <tr> <td colspan="2" align="center" height="25"><strong>INSERISCI MINIATURA</strong></td> </tr> <tr> <td width="99"><strong>File</strong>:</td> <td width="321"><%=Rs("nome_immagine")%></td> </tr> <tr> <td><strong>Miniatura Attuale</strong>:</td> <td> <%=Rs("nome_thumbnail")%> </td> </tr> <tr> <td colspan="2" align="center"> <span class="verde">Carica file:</span> <input name="nome_thumbnail" type="file" size="35" > <input type="submit" name="aggiorna" value="Aggiorna descrizione" /> <input type="hidden" name="aa" value="aa" /> <input type="hidden" name="id" value="<%=Rs("id_file")%>" /></td> </tr> </table> </form> <% Rs.Close Set Rs = Nothing Conn.Close Set Conn = Nothing %> </body>
E il file architetturaUploadThumbnail.asp richiamato dalla form è così scritto:
<!--#include file="carica.asp" File per upload--> <!--#include virtual="/conn.asp" Connessione DB--> <% id_file = Request("id_file") nome_thumbnail = Request("nome_thumbnail") Response.Write("First Name: " & Request.QueryString("id_file") & "<br>") Response.Write("Last Name: " & Request.QueryString("nome_thumbnail") & "<br>") Conn.Execute("UPDATE architettura SET nome_thumbnail = '"&replace(request("nome_thumbnail"),"'","''")&"' WHERE id_file = "&Request("id_file")&"") Conn.Close Set Conn = Nothing %> <% Dim oUpload Set oUpload = new cUpload oUpload.SetPath "/public/architettura/thumbnail/" oUpload.UploadAndSave Set oUpload=Nothing Response.Write("<div align=""center""><br><br>Descrizione modificata con successo!<br><br><br><br><br><br>") Response.Write("<input type=""button"" onClick=""window.close();"" value=""Chiudi finestra""></div>") response.End() 'Response.Redirect("architettura.asp") %>
Il mio problema qual'è? La form sopra indicata mi permette di inserire una immagine sul server nella cartella "thumbnail" e successivamente vorrei fargli aggiungere in automatico il campo con il nome file nel record esistente, identificato da "nome_immagine" e "id_file".
Purtroppo mi esegue l'upload ma non aggiorna il campo nel record.
Riesco visualizzare nella seconda pagina "id_file" ma non riesco a portarmi dietro "nome_thumbnail" che è il name dell'input file, necessario per fare l'UPDATE del campo del record..Come faccio a fare questa operazione?
Il mio codice fa tutto quello che voglio, l'unico problema è che non mi fa l'aggiornamento del campo nel record..ma l'immagine viene caricata correttamente.
C'è modo di passar nell'action della FORM oltre all'id_file (come già faccio), anche il "nome_thumbnail" tirato su dal campo input (type=file)?fatto ciò sarei a posto..
Infatti le:Response.Write("First Name: " & Request.QueryString("id_file") & "<br>") Response.Write("Last Name: " & Request.QueryString("nome_thumbnail") & "<br>")
le uso per vedere cosa riesco a passargli e come First Name mi tira su correttamente l'id_file dalla pagina precedente, ma nome_thumbnail rimane vuoto.
Volevo sapere come riesco a risolvere questo..visto che penso che così dovrei riuscire a risolvere il problema..PS: ah ho provato con il method=GET è riesco ad inviargli tutto quello che voglio, ma stranamente l'upload dell'immagine non funziona più..mah..
Grazie a tutti voi!
-
Facendo delle prove ho provato io a settare la variabile che passo con il metodo Action della FORM e funziona:
.. .. <FORM METHOD="post" ENCTYPE="multipart/form-data" ACTION="architetturaUploadThumbnail.asp?id_file=<%=Rs("id_file")%>&nome_thumbnail=1thum.jpg"> .. .. ```e nel file corrispettivo architetturaUploadThumbnail.asp:
<% cartella = Request("cartella") %>
<!--#include file="carica.asp"-->
<!--#include virtual="/conn.asp" -->
<%
nome_thumbnail = Request.QueryString("nome_thumbnail")
Response.Write("First Name: " & Request.QueryString("id_file") & "<br>")
Response.Write("Last Name: " & Request.QueryString("nome_thumbnail") & "<br>")
Conn.Execute("UPDATE architettura SET nome_thumbnail = '"&replace(request("nome_thumbnail"),"'","''")&"' WHERE id_file = "&Request("id_file")&"")Conn.Close Set Conn = Nothing
%>
<%
Dim oUpload
Set oUpload = new cUpload
oUpload.SetPath "/public/architettura/thumbnail/"
oUpload.UploadAndSave
Set oUpload=NothingResponse.Write("<div align=""center""><br><br>Descrizione modificata con successo!<br><br><br><br><br><br>") Response.Write("<input type=""button"" onClick=""window.close();"" value=""Chiudi finestra""></div>") response.End()
%>
Quindi il problema rimasto da risolvere è solo nel primo file, devo trovare il modo di passare alla mia Actione il "nome_thumbnail" corrispettivo, selezionato in quel momento con la input del file. Quindi cosa metto qui dentro (dove ci sono i **????** ):
..
..
<FORM METHOD="post" ENCTYPE="multipart/form-data" ACTION="architetturaUploadThumbnail.asp?id_file=<%=Rs("id_file")%>&nome_thumbnail=** ???? **">
..
..