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

    Cancellare record db e relativo file html

    Salve a tutti.

    quando devo cancellare un record specifico sul db lo cancello tramite questo semplice script che viene richiamato da una pagina index.asp


    codice:
    
    <%
    cod=Request.Querystring("cod")
    SQL="DELETE FROM tabella WHERE id="&cod
    Conn.Execute(SQL)
    Response.Redirect "index.asp"
    %>
    lo script funziona egregiamente, ma vorrei, contemporaneamente alla cancellazione su db, cancellare anche il corrispondente file che si trova nella cartella "public/pagine".
    Ho provato così

    codice:
    
    <%cod=Request.Querystring("cod")
    SQL="DELETE FROM linksdata WHERE id="&cod
    Conn.Execute(SQL)
    Response.Redirect "cancella_html.asp?id="&cod&""%>
    Il file cancella_html.asp è il seguente:

    codice:
    <%
    'connessione al db
    nome_file = Request.Querystring("Description") & ".html" 
    Dim objFSO 
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    percorso_completo = Server.MapPath("../../public/pagine/" & nome_file)
    objFSO.DeleteFile(percorso_completo) 
    Set objFSO = Nothing loopResponse.Redirect("index.asp") 
    %>
    ma mi da questo errore:
    Errore di run-time di Microsoft VBScript (0x800A0035)
    Impossibile trovare il file
    /aaaaa/bbbbbbb/cccccc/cancella_html.asp, line 35

    dove la linea 35 è :

    objFSO.DeleteFile(percorso_completo).

    Dove sbaglio? come posso fare per cancellare contemporaneamente il record sul db e il file corrispondente nella cartella "public/pagine"?

    Spero di aver esposto il problema con chiarezza

    Grazie

  2. #2
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Fatti stampare il percorso e controlla che sia esatto:
    codice:
    <%
    'connessione al db
    nome_file = Request.Querystring("Description") & ".html" 
    Dim objFSO 
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    percorso_completo = Server.MapPath("../../public/pagine/" & nome_file)
    response.write percoso_completo:response.end 
    objFSO.DeleteFile(percorso_completo) 
    Set objFSO = Nothing 
    Response.Redirect("index.asp") 
    %>

  3. #3
    Originariamente inviato da ubbicom
    Fatti stampare il percorso e controlla che sia esatto:
    codice:
    <%
    'connessione al db
    nome_file = Request.Querystring("Description") & ".html" 
    Dim objFSO 
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    percorso_completo = Server.MapPath("../../public/pagine/" & nome_file)
    response.write percoso_completo:response.end 
    objFSO.DeleteFile(percorso_completo) 
    Set objFSO = Nothing 
    Response.Redirect("index.asp") 
    %>
    Grazie per la risposta, ma se faccio così mi dà una pagina bianca senza nessun errore o messaggio.
    Il percorso è giusto, è lo stesso che viene usato nella modifica delle pagine e va bene. La pagina cancella_html.asp si trova nella directory:
    http://localhost/miosito/menu/canc/cancella_html.asp
    mentre le pagine da cancellare sono in:

    http://localhost/miosito/public/pagine/

    Altri suggerimenti?

  4. #4
    Prova

    codice:
    <%
    'connessione al db
    nome_file = Request.Querystring("Description") & ".html" 
    Dim objFSO 
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    percorso_completo = Server.MapPath("/public/pagine/" & nome_file)
    
    'oppure 
    'percorso_completo = Server.MapPath("/miosito/public/pagine/" & nome_file)
    'a seconda di qual'è il sito predefinito.............
    
    objFSO.DeleteFile(percorso_completo) 
    Set objFSO = Nothing loopResponse.Redirect("index.asp") 
    %>
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    Grazie Teorema55 per la risposta,
    ma anche così mi dà sempre lo stesso errore iniziale.

    Non so più dove sono già due giorni che perdo dietro questa soluzione, anche se al momento ho fatto in modo che dopo aver cancellato la pagina sul database vengo indirizzato ad una pagina che elenca i file html presenti nella cartella "public/pagine" e da li posso selezionare la pagina da eliminare. La cosa non è però molto pratica.

    Dimenticavo di dire che sto lavorando in locale con Windows XP Professional.

    Aiuto!

  6. #6
    Prima della riga

    codice:
    objFSO.DeleteFile(percorso_completo)
    scrivi l'istruzione

    codice:
    response.write(percorso_completo):response.end
    Lo script stamperà a video il contenuto della variabile e poi si bloccherà. In tal modo potrai confrontarlo con l'URL del file da cancellare....so che hai già tentato questa strada, ma riprovaci dopo avere modificato il contenuto di Server.MapPath.....
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  7. #7
    Originariamente inviato da teorema55
    Prima della riga

    codice:
    objFSO.DeleteFile(percorso_completo)
    scrivi l'istruzione

    codice:
    response.write(percorso_completo):response.end
    Lo script stamperà a video il contenuto della variabile e poi si bloccherà. In tal modo potrai confrontarlo con l'URL del file da cancellare....so che hai già tentato questa strada, ma riprovaci dopo avere modificato il contenuto di Server.MapPath.....
    Finalmente sono riuscito a provare il tuo suggerimento.
    Ora mi da questo:

    C:\Documents and Settings\Tizio\Desktop\miosito\public\pagine\.html

    è come se non ricevesse il nome della pagina.
    Preciso che ora ho messo la pagina cancella_html.asp nella cartella "public/pagine" e quindi la path è diventata questa:

    percorso_completo = Server.MapPath("./" & nome_file)

    Se può essere d'aiuto, la connessione al db è questa:
    codice:
    <%
    'Connessione al database db.mdb
    accessdb="../../mdb-database/ldb" 
    cn="DRIVER={Microsoft Access Driver (*.mdb)};"
    cn=cn & "DBQ=" & server.mappath(accessdb)
    Set rs = Server.CreateObject("ADODB.Recordset")
    sql = "select * from Tabella " 
    rs.Open sql, cn
    
    rs.MoveFirst
    do while not rs.eof
    %>
    Dove sbaglio? Sono ormai fuso.

  8. #8
    Up!

    Nessun suggerimento?

  9. #9
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Originariamente inviato da ubbicom
    Fatti stampare il percorso e controlla che sia esatto:
    codice:
    <%
    'connessione al db
    nome_file = Request.Querystring("Description") & ".html" 
    Dim objFSO 
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    percorso_completo = Server.MapPath("../../public/pagine/" & nome_file)
    response.write percoso_completo:response.end 
    objFSO.DeleteFile(percorso_completo) 
    Set objFSO = Nothing 
    Response.Redirect("index.asp") 
    %>
    Ma perchè Ubbicom cosa ti avevo suggerito inizialmente...??? L'hai vista la riga rossa???

  10. #10
    Originariamente inviato da viki1967
    Ma perchè Ubbicom cosa ti avevo suggerito inizialmente...??? L'hai vista la riga rossa???
    Grazie per la risposta.
    Si, l'ho vista e l'ho provato come ho scritto più su, ma lasciando il percorso:
    percorso_completo = Server.MapPath("../../public/pagine/" & nome_file)

    mi restituiva una pagina vuota senza nessun messaggio di errore o di percorso.

    Cambiando la posizione della pagina cancella_html.asp (l'ho inserita nella cartella "public/pagine") e modificando il percorso in

    percorso_completo = Server.MapPath("./" & nome_file)

    mi restituisce il percorso che è giusto, ma manca il nome della pagina, mentre è presente l'estensione.

    C:\Documents and Settings\Tizio\Desktop\miosito\public\pagine\.html

    Cosa posso fare?, dove sbaglio? non ci sto capendo più niente, sono praticamente fuso dietro questo problema.
    Hai qualche suggerimento?

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.