Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684

    BAOL upload - non uploadare

    Ci riprovo, cercando di esporre meglio il concetto (PROBLEMA )
    Ho modificato lo script save.asp per poter salvare senza sovrascrittura e selezione del "path" di destinazione i file inviati, qui lo script:


    <%
    Dim oUpload
    Set oUpload = new cUpload

    oUpload.Load()
    oUpload.SetPath "foto\"
    While Not oUpload.EOF
    oUpload.Save()

    Response.Write "Salvo la foto: " & oUpload.GetFileName() & "
    "
    Response.Write "Dimensioni della foto: " & oUpload.Files("Size") & "bytes" & "
    "%>

    'definizione della variabile
    dim strNick
    dim strRegione
    dim strPaese
    dim strZona
    dim strTipologia
    dim strEmail
    dim strCellulare
    dim strAnnuncio
    dim strCode
    dim data
    dim strNomefoto

    'recupero valori
    strNick=oUpload.form("requirednick")
    strRegione=oUpload.form("requiredregione")
    strPaese=oUpload.form("requiredpaese")
    strZona=oUpload.form("requiredzona")
    strTipologia=oUpload.form("requiredtipologia")
    strEmail=oUpload.form("requiredemail")
    strCellulare=oUpload.form("cellulare")
    strAnnuncio=oUpload.form("requiredannuncio")
    strNomefoto=oUpload.getFileName()
    strCode="innovatel"

    data=now
    gg=Day(data)
    mm=Month(data)
    aa=Year(data)
    data=gg & "/" & mm & "/" & aa

    'Mappaggio del database
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)};"
    strConn=strConn & "DBQ=" & Server.MapPath ("database.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn

    'Stringa di interrogazione sulla tabella annunci
    sql = "SELECT * FROM annunci"

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3

    'Preparazione e scrittura nuovo record
    rs.addnew
    rs(1) = data
    rs(2) = strNick
    rs(3) = strRegione
    rs(4) = strPaese
    rs(5) = strZona
    rs(6) = strTipologia
    rs(7) = strEmail
    rs(8) = strCellulare
    rs(9) = strAnnuncio
    rs(10) = strNomefoto
    rs.update

    'Chiusura del database
    rs.Close
    set rs=Nothing
    conn.close
    set conn=Nothing

    oUpload.MoveNext
    Wend
    Set oUpload=Nothing
    %>

    Ho inserito come potete vedere dalle stringhe recuperate che ho usato un java script nella pagina del form.
    [!] Il problema sorge quando il campo <input type="file" ...> non contiene alcun file. L'upload non avviene e il recordset non viene salvato nel database che non viene aggiornato. Al contrario se il file e' presente i dati vengono memorizzati.

    OBIETTIVO dello script: Aggiornare il database con tutti i campi e aggiungere nel campo (10) del recordset, nel caso il campo input type="file" fosse vuoto, una stringa "vuoto.gif".

    Spero che ora qualcuno mi aiuti! Grazie.

  2. #2
    codice:
    dim flag
    
    oUpload.Load() 
    oUpload.SetPath "foto\" 
    
    if oUpload.eof then
    
    flag=1
    
    else
    
    oUpload.save()
    
    end if
    
    
    if flag=1 then
    'salvo mettendo il campo pincopallino come vuoi te
    else
    'salvo normalmente
    end if

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Non ho specificato che sono un neofita e ogni volta ho un problema, compreso imparare nuovi comandi e funzioni, e' un casino.

    Vorrei sottolineare che prendo trmite l'oggeto oUpload.getfilename() il nome del file.
    e poi salvo il nome nel database tramite:
    rs(10) 0 strNomefoto 'questo il campo che contiene il nome della foto

    Ora non ho capito bene come implementare i tuoi comandi nel file save.asp che sarebbe l'action del form.

    p.s. ripeto nel caso in cui l'immagine non fosse presente la stringa "strNomeFoto" deve assumere il valore "vuoto.gif"

    Mi potresti fare un esempio pratico? grazie

  4. #4
    lascia stare quello che ho detto

    prova questo prima:
    codice:
    strNomefoto=oUpload.getFileName() 
    
    if len(trim(strNomefoto))=0 then strNomefoto="vuoto.gif"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Come consigliato da te ho inserito il comando
    codice:
    <% if len(trim(strNomefoto))=0 then strNomefoto="vuoto.gif" %>
    questo comando l'ho inserito fra:

    strNomefoto=oUpload.getFileName()
    [comando]
    strCode="innovatel"

    quindi all'assegnazione delle stringe.

    Ma ho sempre lo stesso problema:
    Non salva i campi del form nel recordset se il campo file e' vuoto!!
    Ho notato che non hai inserito l'end if dopo l'IF ... THEN...

    Secondo me bisogna aggiungere un comando simile di controllo all'inizio del codice:

    Dim oUpload
    Set oUpload = new cUpload

    oUpload.Load()
    oUpload.SetPath "foto\"
    While Not oUpload.EOF
    oUpload.Save()

    Penso fra la riga:
    oUpload.Load()
    if len(trim(strNomefoto))=0 then
    oUpload.SetPath "foto\"
    While Not oUpload.EOF
    oUpload.Save()
    else
    strnomefoto="vuoto.gif"

    Agiungere infine END IF. Non so dove inserirlo se dopo queste righe o in basso alla fine del codice prima del comando "wend"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Correggo:

    oUpload.load()
    if strNomefoto=0 then strNomefoto="vuoto.gif"
    else
    oUpload.SetPath "foto\"
    While Not oUpload.EOF
    oUpload.Save()
    end if

    Ma non va... da errore...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Ho corretto il codice:

    oUpload.load()
    if strNomefoto=0 then strNomefoto="vuoto.gif"
    else
    oUpload.SetPath "foto\"
    While Not oUpload.EOF
    oUpload.Save()
    .... tutto il codice
    wend
    end if
    Set oUpload=Nothing

    Ora non da errore ma ho sempre lo stesso problema se la foto c'e' tutto Ok ma se l'utente non ha abilitato il file la scrittura del recordset non avviene...

    Che p....

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Possibile che nessuno abbia mai avuto questo problema?
    Con questo script? Ovvero la possibilità che il campo input file fosse vuoto per inviare dei dati al recordset in questione?

  9. #9
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Comìè il tuo codice in questo momento?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Una manna dal cielo
    Tralaciando i vari tag HTML:


    <%
    Dim oUpload
    Dim strNomefoto
    Set oUpload = new cUpload
    oUpload.Load()
    strNomefoto=oUpload.GetFileName()
    if len(trim(strNomefoto))=0 then
    strNomefoto="vuoto.gif"
    else
    oUpload.SetPath "foto\"
    While Not oUpload.EOF
    oUpload.Save()
    %>

    <table width="440" border="0" cellspacing="0" cellpadding="1" align="center" bgcolor="#999999" height="130">
    <tr>
    <td width="440" height="100">[img]gif/logo440x100.gif[/img]</td>
    </tr>
    <tr>
    <td height="30"> <%Response.Write "Salvo la foto: " & oUpload.GetFileName() & "
    "
    Response.Write "Dimensioni della foto: " & oUpload.Files("Size") & "bytes" & "
    "%>
    </td>
    </tr>
    </table>

    <%
    'definizione della variabile
    dim strNick
    dim strRegione
    dim strPaese
    dim strZona
    dim strTipologia
    dim strEmail
    dim strCellulare
    dim strAnnuncio
    dim strCode
    dim data

    'recupero valori
    strNick=oUpload.form("requirednick")
    strRegione=oUpload.form("requiredregione")
    strPaese=oUpload.form("requiredpaese")
    strZona=oUpload.form("requiredzona")
    strTipologia=oUpload.form("requiredtipologia")
    strEmail=oUpload.form("requiredemail")
    strCellulare=oUpload.form("cellulare")
    strAnnuncio=oUpload.form("requiredannuncio")

    strCode="innovatel"

    data=now
    gg=Day(data)
    mm=Month(data)
    aa=Year(data)
    data=gg & "/" & mm & "/" & aa

    'Mappaggio del database
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)};"
    strConn=strConn & "DBQ=" & Server.MapPath ("database1.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn

    'Stringa di interrogazione sulla tabella annunci
    sql = "SELECT * FROM annunci"

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3

    'Preparazione e scrittura nuovo record
    rs.addnew
    rs(1) = data
    rs(2) = strNick
    rs(3) = strRegione
    rs(4) = strPaese
    rs(5) = strZona
    rs(6) = strTipologia
    rs(7) = strEmail
    rs(8) = strCellulare
    rs(9) = strAnnuncio
    rs(10) = strNomefoto
    rs.update

    'Chiusura del database
    rs.Close
    set rs=Nothing
    conn.close
    set conn=Nothing

    oUpload.MoveNext
    Wend

    end if

    Set oUpload=Nothing
    %>

    Se non lo risolvi tu questo prob. chi può?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.