Salve a tutti, a chiunque mi risolva questo enigma offrirò un fiume di birra...
permetto che nella programmazione sono un caso disperato.
Oramai è moltissimo che sto provando di terminare questo sito, ora vi spiego il mio piccolo ma grande problema.
Ho un upload funzionane che estrae le voci da un database access in una select per determinare il nome della cartella di destinazione, fin qui tutto ok, il problema è che una volta terminato l'upload vorrei che tale voce precedentemente selezionata dal select venga cancellata dal database
questa è la pagina del caricamento dei file:
invio-del-file.asp
codice:<!-- #include file="protec.asp" --> <script language="javascript"> <!-- function Modulo() { // Variabili associate ai campi del modulo var Invio_del_flie = document.modulo.Invio_del_flie.value; var FILE1 = document.modulo.FILE1.value; //Effettua il controllo sul campo cap if ((Invio_del_flie == "") || (Invio_del_flie == "undefined")) { alert("Devi selezionare un prodotto per poter continuare."); document.modulo.Invio_del_flie.focus(); } //Effettua il controllo sul campo cap else if ((FILE1 == "") || (FILE1 == "undefined")) { alert("Devi inserire almeno un prodotto per effettuare l'upload."); document.modulo.FILE1.focus(); } //INVIA IL MODULO else { document.modulo.action = "esito-upload.asp"; document.modulo.submit(); } } //--> </script> <% Set Conn = Server.CreateObject("ADODB.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/Ordini.mdb") Conn.Open strConn numeroRecord=Session("ID") sql = "SELECT * FROM Ordini_file WHERE Id="&numeroRecord Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn ,3,3 %> <FORM METHOD="POST" ENCTYPE="multipart/form-data" name="modulo"> <strong><span class="style13">Seleziona il prodotto: <span class="style11">*</span></span></strong><br> <select name="Invio_del_flie" style="width: 577px"> <option value="">Seleziona un prodotto</option> <% do while not rs.eof response.write "<option value='" & rs("ID_file")& "'>" response.write "Numero ordine" response.write " " response.write rs("ID_file") response.write " - " response.write "Prodotto" response.write " " response.write rs("Ordine") response.write " - " response.write "Data ordine" response.write " " response.write rs("data") response.write "</option>" rs.movenext loop rs.Close set rs = Nothing set conn = Nothing %> </select><br> <br> <strong><span class="style12">File FRONTE: <span class="style11">*</span></span></strong><br> <INPUT TYPE="FILE" SIZE="40" NAME="FILE1"><br> <br> <strong><span class="style12">File RETRO:</span></strong><BR> <INPUT TYPE="FILE" SIZE="40" NAME="FILE2"> <br> <br> <span class="style13"><strong>N.B. specificare il fronte è il retro rinominando il file.<br> </strong></span><br> <BR> <input type="button" value="invia" onClick="Modulo()"> </FORM>
questa è la pagina dell'esito:
esito-upload.asp
codice:<!-- #include file="protec.asp" --> <% Set Conn = Server.CreateObject("ADODB.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/Ordini.mdb") Conn.Open strConn numeroRecord=Session("ID") sql = "SELECT * FROM Ordini_file WHERE Id="&numeroRecord Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn ,3,3 %> <p> <% server.ScriptTimeout=60000 Set Upload = Server.CreateObject("Persits.Upload") ' ATTENZIONE, PORRE IL LIMITE Upload.SetMaxSize 10485760, True ' SALVO IN MEMORIA Upload.Save ' cartella indicata dal visitatore, attenzione, sconsigliato, usare preferibilmente la soluzione *NB* Invio_del_flie = Upload.Form("Invio_del_flie") Invio_del_flie = Upload.Form("Invio_del_flie") ' *NB* cartella specificata a scelta del webmaster 'Invio_del_flie = "upload" 'Invio_del_flie = "upload" ' per evitre uso malevolo, replace dei percorsi a salire ".." fronte = Replace(Invio_del_flie, "..", "" ) percorso = Server.MapPath("/mdb-database/Invio_del_flie") ' per evitre uso malevolo, replace dei percorsi a salire ".." retro = Replace(Invio_del_flie, "..", "" ) percorso = Server.MapPath("/mdb-database/Invio_del_flie") ' Imposto percorso facilitato 'Path = "d:\inetpub\webs\demo-wincom\mdb-database\Invio_del_flie\" & Invio_del_flie Path = percorso & "/" & Invio_del_flie ' Create path, ignore "already exists" error Upload.CreateDirectory Path, True For Each File in Upload.Files File.SaveAs Path & "\" & File.FileName Response.Write "Ordine numero <b>" & fronte & "</b>. - Nome del file </b>" & File.filename & "</b> - inviato correttamente<BR>" Next %> <% rs.delete rs.Close set rs = Nothing conn.Close set conn = Nothing %>
il file protec.asp contiene
grazie anticipatamente a tutticodice:<% 'L'utente è passato per una fase di login? if (Session("Autenticato")<>"OK") then 'Se no lo mandiamo ad autenticarsi Response.Redirect "login.asp?errore="&Server.URLEncode("Per accedere a questa pagina bisogna effettuare il login, se non è registrato può farlo gratuitamente.")&"&paginaOriginale="&Request.ServerVariables("SCRIPT_NAME") else 'Se si, ha un livello appropriato? if Session("livelloUtente") < livelloPagina then Session.Abandon Response.Redirect "login.asp?errore="&Server.URLEncode("La pagina richiesta necessita di un livello più alto di sicurezza, prego autenticarsi come altro utente abilitato")&"&paginaOriginale="&Request.ServerVariables("SCRIPT_NAME") end if end if %>

Rispondi quotando
