• User

    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!:ciauz:


  • User

    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=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()
    

    %>

    
    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=** ???? **">
    ..
    ..