Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Upload semplice con BAOL. MAncata scrittura sul DATABASE.

    Ciao a tutti.
    Come molti scrivo perchè sono una neofita e non conosco bene il codice asp.Spero qualcuno di voi possa aiutarmi.

    Vi descrivo brevemente il mio problema:


    I FILE DENTRO LA MIA CARTELLA:

    Devo costruire un semplice upload e ho deciso di utilizzare il codice di baol.

    Nella cartella "cerca" ho inserito:

    il file form.html ( con il form da compilare)
    il file elabora_form.asp
    il file upload.asp di baol
    Il database ( che ha come campi ID, TITOLO, DESCRIZIONE, DATA, PDF, PERCORSO)
    la cartella "public" dove dovrebbero essere salvati i miei file pdf.


    IL PROBLEMA:

    Quando provo a fare l'upload accade che viene scritto il nome del file in "pdf" ma gli altri campi restano vuoti così come resta vuota la cartella PUBLIC.


    I CODICI:

    Vi posto il codice di "form.html" e di "elabora_form.asp".


    form.html

    codice:
    <form name="form1" method="post" enctype="multipart/form-data" action="elabora_form.asp">
    <blockquote>
    	<div align="center">
    		<table border="0" width="90%" id="table1">
    		
        
        
                                  <tr>
                                                  <td>
                                                        <p align="right">
                                                        <font size="2" color="#000080" face="Verdana">Titolo</font>
                                                        <font color="#000" face="Verdana"> <input name="valuta" type="text" id="titolo">
                                                        </font>
                                                  </td>
                                                  
                                                  
                                                  <td>
                                                        <font size="2" color="#000" face="Verdana">
                                                              Descrizione
                                                        </font>
                                                        
                                                        <font color="#000" face="Verdana"> 
                                                        
                                                              <input name="valuta" type="text" id="descrizione" />
                                                        
                                                        </font>
                                                  </td>
                                  </tr>
                                    
          
                                  <tr>
                                                  <td>
                                                        <p align="right">
                                                                <font color="#000" face="Verdana">
                                                                        <font size="2">
                                                                              data 
                                                                        <input name="valuta" type="text" id="data" />
                                                                      
                                                                        </font>
                                                                </font>
    
                                                        <font size="2" color="#000" face="Verdana"> 
                                                        </font>
                                                  </td>
                                  </tr>
                                  <tr>
                                                  
                                                        <td> <font size="2" color="#000" face="Verdana">pdf
                                                        </font> <input name="pdf" type="file" id="pdf" ></td>
                                                
                                  </tr>                              
                                  
                                  <tr>
                                                  
                                                  <td>
                                                  <p align="center">
                                                  <input type="submit" name="Submit" value="Invia"></td>
                                                  
                                  </tr>
            </table>
                              
    </blockquote>
    </form>
    
            </p>
            
          </div>
    
          <div id="footer">
             © 2002 Pragma Srl. -p.iva 00934911009 c.f .00819770587
    
          </div>
        </div>
      </div>

    e il codice di "elabora_form.asp"

    codice:
    <head>
    </head>
    <body>
    
    <body> 
    
    
    
    <%
    Dim oUpload
    Set oUpload= new cUpload
    With oUpload
    'La riga seguente imposta la connessione al database e la tabella di inserimento dati
    'La connesione e la tabella verranno aperti con il metodo oUpload.Database.Open()
    .SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("pragma1.mdb"),"SELECT Top 1 * FROM ricerche"
    .EnabledAspUpload	= False
    .EnabledImageSize	= False
    .EnabledLog 		 = False
    .AutoRename 		 = True
    .Overwrite			 = False
    .SetPath "/public/"                                                              
    .Load
    .MoveFirst
    if .EOF then
    	NumFiles = .Count()
    	Response.write "0 Files caricati su " & NumFiles &" : controlla le dimensioni e il tipo di file."
    else
    	.Database.Open()
    	While Not .EOF
    			.Save
    			response.Write "il file " & .GetFileName & " è stato salvato 
    "
    			
          'Inserimento dei valori                                                  
    			.Database.Fields("Titolo") = .Form("Titolo")
          .Database.Fields("descrizione") = .Form("Descizione")
          .Database.Fields("data") = .Form("Data")
          .Database.Fields("pdf") = .Form("Pdf")      
          .Database.Fields("Percorso") = .GetCompletePathFile
          'Inserimento                                                             
    			.Database.AddNew()
    	.MoveNext
    	Wend
    end if
    End With
    Set oUpload = Nothing
    %>
    
    
    
    </body> 
    </html>

    Grazie!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    I campi del form li hai chiamati "valuta" invece che con il loro "name" che hai recuperato nella pagina successiva.
    Il db l'hai messo nella stessa cartella dell'upload, come mai?

    Roby

  3. #3
    Oddio che erroraccio di distrazione il "valuta".
    Ho messo il db nella stessa cartella perchè quando ho provato a metterlo in una sottocartella mdb-database non funzionava più.

  4. #4
    ora ho corretto quell'errore ma continua a non scrivermi nulla sul percorso. e la cartella public rimane vuota. Che tipo di errore sto commettendo?

  5. #5
    Prova così:
    form.html
    codice:
    <form name="form1" method="post" enctype="multipart/form-data" action="elabora_form.asp">
    <blockquote>
    	<div align="center">
    		<table border="0" width="90%" id="table1">
    		
        
        
                                  <tr>
                                                  <td>
                                                        <p align="right">
                                                        <font size="2" color="#000080" face="Verdana">Titolo</font>
                                                        <font color="#000" face="Verdana"> <input name="Titolo" type="text" id="titolo">
                                                        </font>
                                                  </td>
                                                  
                                                  
                                                  <td>
                                                        <font size="2" color="#000" face="Verdana">
                                                              Descrizione
                                                        </font>
                                                        
                                                        <font color="#000" face="Verdana"> 
                                                        
                                                              <input name="Descrizione" type="text" id="descrizione" />
                                                        
                                                        </font>
                                                  </td>
                                  </tr>
                                    
          
                                  <tr>
                                                  <td>
                                                        <p align="right">
                                                                <font color="#000" face="Verdana">
                                                                        <font size="2">
                                                                              data 
                                                                        <input name="Data" type="text" id="data" />
                                                                      
                                                                        </font>
                                                                </font>
    
                                                        <font size="2" color="#000" face="Verdana"> 
                                                        </font>
                                                  </td>
                                  </tr>
                                  <tr>
                                                  
                                                        <td> <font size="2" color="#000" face="Verdana">pdf
                                                        </font> <input name="pdf" type="file" id="pdf" ></td>
                                                
                                  </tr>                              
                                  
                                  <tr>
                                                  
                                                  <td>
                                                  <p align="center">
                                                  <input type="submit" name="Submit" value="Invia"></td>
                                                  
                                  </tr>
            </table>
                              
    </blockquote>
    </form>
    
            </p>
            
          </div>
    
          <div id="footer">
             © 2002 Pragma Srl. -p.iva 00934911009 c.f .00819770587
    
          </div>
        </div>
      </div>

    elabora_form.asp
    codice:
    <head>
    </head>
    <body>
    
    <body> 
    
    
    
    <%
    Dim oUpload
    Set oUpload= new cUpload
    With oUpload
    'La riga seguente imposta la connessione al database e la tabella di inserimento dati
    'La connesione e la tabella verranno aperti con il metodo oUpload.Database.Open()
    .SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../mdb-database/pragma1.mdb"),"SELECT Top 1 * FROM ricerche"
    .EnabledAspUpload	= False
    .EnabledImageSize	= False
    .EnabledLog 		 = False
    .AutoRename 		 = True
    .Overwrite			 = False
    .SetPath "../public/"                                                              
    .Load
    .MoveFirst
    if .EOF then
    	NumFiles = .Count()
    	Response.write "0 Files caricati su " & NumFiles &" : controlla le dimensioni e il tipo di file."
    else
    	.Database.Open()
    	While Not .EOF
    			.Save
    			response.Write "il file " & .GetFileName & " è stato salvato 
    "
    			
          'Inserimento dei valori                                                  
    			.Database.Fields("Titolo") = .Form("Titolo")
          .Database.Fields("descrizione") = .Form("Descrizione")
          .Database.Fields("data") = .Form("Data")
    '      .Database.Fields("pdf") = .GetFileName      
          .Database.Fields("Percorso") = .GetCompletePathFile
          'Inserimento  
                                                             
    			.Database.AddNew()
    	.MoveNext
    	Wend
    end if
    End With
    Set oUpload = Nothing
    %>
    </body> 
    </html>
    Metti il database nella cartella "mdb-database" e i restanti file nella cartella "cerca"

  6. #6
    Mi restituisce questo errore:

    Server.MapPath() error 'ASP 0175 : 80004005'

    Caratteri non consentiti nel percorso

    /cerca/elabora_form.asp, riga 16

    Impossibile utilizzare i caratteri ".." nel parametro Path del metodo MapPath.


    Faccio una ricerchina per la soluzione.

  7. #7

  8. #8
    No non funziona.
    L'errore che mi viene segnalato ora è:

    __________________________________________________ __
    Microsoft JET Database Engine error '80004005'

    "C:\inetpub\wwwroot\mio_sito\mdb-database\pragma1.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.

    /cerca/upload.asp, riga 1142

    __________________________________________________ ____


    Forse però è utile spiegarvi la struttura delle cartelle a cui stiamo facendo riferimento.

    La cartella "mio sito" contiene la cartella "cerca" che a sua volta contiene la cartella "mdb-database".

    la riga che mi da errore è:
    codice:
    .SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("..\mdb-database\pragma1.mdb"),"SELECT Top 1 * FROM ricerche"
    Se elimino i puntini mi dà lo stesso errore

    Se modifico la stringa in
    codice:
    .SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("\mdb-database\pragma1.mdb"),"SELECT Top 1 * FROM ricerche"
    o in

    codice:
    .SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("cerca\mdb-database\pragma1.mdb"),"SELECT Top 1 * FROM ricerche"
    l'errore che ricevo è:
    __________________________________________________ _
    Microsoft JET Database Engine error '80004005'

    "C:\inetpub\wwwroot\25 Novembre\cerca\cerca\mdb-database\pragma1.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.

    /cerca/upload.asp, riga 1142
    __________________________________________________ ________


    come vedete mi dà la cartella "cerca" due volte nel percorso...
    Scusate se questa risposta è un pò più confusionaria. Non riesco a organizzarla meglio.

  9. #9
    scusate. ho risolto questo problema era sufficiente inserire \ davanti a "cerca\mdb-database..".

    Subito dopo l'upload mi comunica che il file è stato scaricato però ho ancora questi quattro problemi:

    1-dovrebbe scrivermi "il file nome_del_file è stato salvato" e invece dice solo "il file è stato salvato"
    2-non scriver più il dome del file
    3-non scrive nulla nel capo del percorso
    4-la cartella public rimane vuota.

    Cosa c'è ancora che non va? E intanto grazie per la vostra disponibilià!

  10. #10
    scusate questa lunga di miei messaggi ma sono riuscita a risolvere alcuni dei miei problemi di upload. Posto il codice corretto nel caso servisse a qualcuno, in giro per la rete ho trovato molti utenti che hanno delle difficoltà.

    il file con il form:

    codice:
    <form name="form1" method="post" enctype="multipart/form-data" action="elabora_form.asp">
    <blockquote>
    	<div align="center">
    		<table border="0" width="90%" id="table1">
    		
        
        
                                  <tr>
                                                  <td>
                                                        <p align="right">
                                                        <font size="2" color="#000" face="Verdana">
                                                            Titolo
                                                        </font>
                                                        <font color="#000" face="Verdana"> 
                                                              <input name="titolo" type="text" id="titolo" />
                                                        </font>
                                                  </td>
                                                  
                                                  
                                                  <td>
                                                        <font size="2" color="#000" face="Verdana">
                                                              Descrizione
                                                        </font>
                                                        
                                                        <font color="#000" face="Verdana"> 
                                                        
                                                              <input name="descrizione" type="text" id="descrizione" />
                                                        
                                                        </font>
                                                  </td>
                                  </tr>
                                    
          
                                  <tr>
                                                  <td>
                                                        <p align="right">
                                                                <font color="#000" face="Verdana">
                                                                        <font size="2">
                                                                              data 
                                                                        <input name="data" type="text" id="data" />
                                                                      
                                                                        </font>
                                                                </font>
    
                                                        <font size="2" color="#000" face="Verdana"> 
                                                        </font>
                                                  </td>
                                  </tr>
                                  <tr>
                                                  
                                                        <td> <font size="2" color="#000" face="Verdana">pdf
                                                        </font> <input name="pdf" type="file" id="pdf" ></td>
                                                
                                  </tr>                              
                                  
                                  <tr>
                                                  
                                                  <td>
                                                  <p align="center">
                                                  <input type="submit" name="Submit" value="Invia"></td>
                                                  
                                  </tr>
            </table>
                              
    </blockquote>
    </form>
    codice:
    <html>
    <head>
    </head>
    <body>
    
    <body> 
    
    
    <%
    Dim oUpload
    Set oUpload= new cUpload
    With oUpload
    'La riga seguente imposta la connessione al database e la tabella di inserimento dati
    'La connesione e la tabella verranno aperti con il metodo oUpload.Database.Open()
    .SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("\cerca\mdb-database\pragma1.mdb"),"SELECT Top 1 * FROM ricerche"
    .EnabledAspUpload	= False
    .EnabledImageSize	= False
    .EnabledLog 		 = False
    .AutoRename 		 = True
    .Overwrite			 = False
    .SetPath "public\"                                                              
    .Load
    .MoveFirst
    if .EOF then
    	NumFiles = .Count()
    	Response.write "0 Files caricati su " & NumFiles &" : controlla le dimensioni e il tipo di file."
    else
    	.Database.Open()
    	While Not .EOF
    			.Save
    			response.Write "il file " & .GetFileName &" è stato salvato 
    "
          'Inserimento dei valori                                                  
    			.Database.Fields("Titolo") = .Form("Titolo")
          .Database.Fields("descrizione") = .Form("Descrizione")
          .Database.Fields("data") = .Form("Data")
          .Database.Fields("pdf") = .Form("pdf")
          .Database.Fields("Percorso") = .GetCompletePathFile
          'Inserimento  
    
    			.Database.AddNew()
    	.MoveNext
    	Wend
    end if
    End With
    Set oUpload = Nothing
    %>
    
    </body> 
    </html>
    compila correttamente il database compreso il percorso, però nella cartella non scrive nulla.... ho controllato i permessi e li ho assegnati tutti.
    Non so spiegarmi. Spero che questo possa essere utile a qualcuno e ovviamente che qualcuno possa aiutarmi a compilare questa ultima fase del progetto.

    grazie a tutti!

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.