ASP problema ENORME

di il
5 risposte

ASP problema ENORME

Salve, ho un problema enorme e non so dove sbattere la testa.
Trattasi di sito in asp, dove andrebbero inserite delle strutture turistiche, ognuna con miniatura fotografica, eventuali altre foto, breve descrizione e opuscolo pdf, oltre a un codice univoco per ogni struttura e a un numero progressivo che stabilisce l'ordine di visualizzazione.

Che succede (il cliente inc.... come una belva logicamente): io faccio le prove e va tutto bene, il cliente ieri sera inserisce 7 strutture e la foto dell'ultima inserita sostituisce tutte le altre foto!!! La cosa strana è che mentre lui stava inserendo le strutture io, da casa mia, stavo guardando il sito e vedevo che tutto andava bene e allora me ne sono andata a letto... poi stamani lo shock.
Non so dove mettere le mani... Questo minaccia le vie legali...

5 Risposte

  • Re: ASP problema ENORME

    Non vedendo il codice,
    l'unica cosa che mi viene in mente è che tu da qualche parte faccia una query di Update senza la clausola where.
    Nel senso: aggiorna 'la foto nella tabella' invece di 'aggiorna la foto in uno specifico record della tabella'

    Cioè se la tua query è del tipo:

    <b>sql = "UPDATE Tabella SET foto = '" & foto & "'"</b> (cambia tutte le foto nella tabella)

    dovrebbe essere

    <b>sql = "UPDATE Tabella SET foto = '" & foto & "' WHERE idRecord = " & idRecord </b>

    Naturalmente sono solo supposizioni...
    non avendo visto il codice...

    stellaweb

    stellaweb
  • Re: ASP problema ENORME

    Dunque, dai log del server pare che siano state inserite alcune foto con lo stesso nome... adesso abbiamo infarcito gli script di controlli, sia lato client che server per evitare qualsiasi cosa duplicata, con nome uguale, con estensione che non ci sta simpatica....
    Questo è il codice per l'inserimento (non per l'update, che comunque ha il where ID=taldeitali)

    <% if session("passwd") <> "entra" then response.redirect("pass.asp")
    server.ScriptTimeout = 900 %>
    <head>
    <script language="JavaScript" type="text/javascript">
    <!--
    function valid(form) //funzione che controlla il riempimento dei campi del form
    {
    if(form.pdf.value == "")
    {alert("Inserire un PDF"); return false;}

    else if(form.cod.value == "")
    {alert("Inserire il CODICE struttura"); return false;}

    else if(form.nome.value == "")
    {alert("Inserire il NOME per la struttura"); return false;}

    else if(form.thumb.value.substring(form.thumb.value.indexOf(".")) == ".jpeg")
    {alert("Le foto devono avere estensione .jpg"); return false;}

    else if(form.thumb1.value.substring(form.thumb1.value.indexOf(".")) == ".jpeg")
    {alert("Le foto devono avere estensione .jpg"); return false;}

    else if(form.thumb2.value.substring(form.thumb2.value.indexOf(".")) == ".jpeg")
    {alert("Le foto devono avere estensione .jpg"); return false;}

    else if(form.thumb3.value.substring(form.thumb3.value.indexOf(".")) == ".jpeg")
    {alert("Le foto devono avere estensione .jpg"); return false;}

    else if(form.thumb4.value.substring(form.thumb4.value.indexOf(".")) == ".jpeg")
    {alert("Le foto devono avere estensione .jpg"); return false;}

    else {return true;}
    }
    -->
    </script>
    </head>
    <body>
    <%
    Set db = Server.CreateObject("ADODB.Connection")
    dbfile = Server.MapPath("database") & "\db.mdb"
    db.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & dbfile)

    Set up = Server.CreateObject("aspSmartUpload.SmartUpload")
    up.AllowedFilesList = "jpg,pdf"
    ' up.MaxFileSize = da decidere
    up.Upload

    SET fso = Server.CreateObject("Scripting.FileSystemObject")
    no = false
    msg = ""
    msgsmall = ""

    cod = up.form("cod")
    if cod <> "" then
    set rs = db.execute("select ID from strutture where cod=" & cod)
    if not rs.eof then
    no = true
    msg = msg & "<h3>Il codice inserito è già presente.</h3>"
    msgsmall = msgsmall & "Inserire un codice diverso (sarà necessario inserire di nuovo eventuali foto e il file PDF).<br />"
    end if
    end if
    if not up.files("thumb").IsMissing then
    t = up.files("thumb").filename
    t1 = Server.MapPath("thumb") & "\" & t
    if fso.fileExists(t1) then
    no = true
    msg = msg & "<h3>L'immagine " & t & " è già presente sul server.</h3>"
    msgsmall = msgsmall & "Rinominare " & t & " o scegliere un'altra immagine.<br />"
    end if
    end if
    for i = 1 to 4
    fotina = "thumb" & i
    if not up.files(fotina).IsMissing then
    f = up.files(fotina).filename
    f1 = Server.MapPath("thumb") & "\" & f
    if fso.fileExists(f1) then
    no = true
    msg = msg & "<h3>L'immagine " & f & " è già presente sul server.</h3>"
    msgsmall = msgsmall & "Rinominare " & f & " o scegliere un'altra immagine.<br />"
    end if
    end if
    next
    p = up.files("pdf").filename
    p1 = Server.MapPath("pdf") & "\" & p
    if fso.fileExists(p1) then
    no = true
    msg = msg & "<h3>Il file PDF " & p & " è già presente sul server.</h3>"
    msgsmall = msgsmall & "Rinominare " & p & " o scegliere un altro PDF.<br />"
    end if

    if no then
    %>
    <h2>Inserimento delle strutture nel database </h2>
    <form action="script_inserisci.asp" method="post" enctype="multipart/form-data" onsubmit="return valid(this)">
    <table width="740" border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td colspan="3"><% =msg %>
    <p><% =msgsmall %></p></td>
    </tr>
    <tr>
    <td align="right">Codice struttura: </td>
    <td><input name="cod" type="text" value="<% =cod %>"></td>
    <td>Numero d'ordine:
    <input name="ordine" type="text" id="ordine" size="4" value="<% =up.form("ordine") %>" /></td>
    </tr>
    <tr>
    <td align="right">Nome: </td>
    <td colspan="2"><input name="nome" type="text" value="<% =up.form("nome") %>" size="64"></td>
    </tr>
    <tr>
    <td align="right">Descrizione: </td>
    <td colspan="2"><textarea name="descr" cols="64" rows="6"><% =up.form("descr") %></textarea></td>
    </tr>
    <tr>
    <td align="right">Zona: </td>
    <td colspan="2"><select name="zona">
    <option value="Firenze"<%
    if up.form("zona")="Firenze" then response.write " selected"
    %>>Firenze</option>
    <option value="Siena"<%
    if up.form("zona")="Siena" then response.write " selected"
    %>>Siena</option>
    <option value="Chianti"<%
    if up.form("zona")="Chianti" then response.write " selected"
    %>>Chianti</option>
    <option value="Valdarno"<%
    if up.form("zona")="Valdarno" then response.write " selected"
    %>>Valdarno</option>
    <option value="Valdorcia"<%
    if up.form("zona")="Valdorcia" then response.write " selected"
    %>>Val d'Orcia</option>
    <option value="Maremma"<%
    if up.form("zona")="Maremma" then response.write " selected"
    %>>Maremma</option>
    <option value="Altre zone"<%
    if up.form("zona")="Altre zone" then response.write " selected"
    %>>Altre zone</option>
    </select></td>
    </tr>
    <tr>
    <td align="right">Tipologia: </td>
    <td colspan="2"><select name="tipo">
    <option value="Agriturismo"<%
    if up.form("tipo")="Agriturismo" then response.write " selected"
    %>>Agriturismo</option>
    <option value="Alberghi"<%
    if up.form("tipo")="Alberghi" then response.write " selected"
    %>>Alberghi</option>
    <option value="Appartamenti"<%
    if up.form("tipo")="Appartamenti" then response.write " selected"
    %>>Appartamenti</option>
    <option value="Castelli"<%
    if up.form("tipo")="Castelli" then response.write " selected"
    %>>Castelli</option>
    <option value="Locande"<%
    if up.form("tipo")="Locande" then response.write " selected"
    %>>Locande</option>
    <option value="Residence"<%
    if up.form("tipo")="Residence" then response.write " selected"
    %>>Residence</option>
    <option value="Ville-casali"<%
    if up.form("tipo")="Ville-casali" then response.write " selected"
    %>>Ville</option>
    <option value="Itinerari"<%
    if up.form("tipo")="Itinerari" then response.write " selected"
    %>>Itinerari classici</option>
    <option value="Terme"<%
    if up.form("tipo")="Terme" then response.write " selected"
    %>>Soggiorni Termali</option>
    </select></td>
    </tr>
    <tr>
    <td align="right">Foto: </td>
    <td colspan="2"><input name="thumb" type="file" size="80" /></td>
    </tr>
    <tr>
    <td align="right">Altra foto: </td>
    <td colspan="2"><input name="thumb1" type="file" size="80" /></td>
    </tr>
    <tr>
    <td align="right">Altra foto: </td>
    <td colspan="2"><input name="thumb2" type="file" size="80" /></td>
    </tr>
    <tr>
    <td align="right">Altra foto: </td>
    <td colspan="2"><input name="thumb3" type="file" size="80" /></td>
    </tr>
    <tr>
    <td align="right">Altra foto: </td>
    <td colspan="2"><input name="thumb4" type="file" size="80" /></td>
    </tr>
    <tr>
    <td align="right">PDF:</td>
    <td colspan="2"><input name="pdf" type="file" size="80"></td>
    </tr>
    <tr>
    <td align="right">Last Minute:</td>
    <td colspan="2">Sì <input type="radio" name="lastmin" value="lastsi"<%
    if up.form("lastmin") = "lastsi" then Response.Write " checked"
    %>>
    No <input type="radio" name="lastmin" value="lastno"<%
    if up.form("lastmin") = "lastno" then Response.Write " checked"
    %>></td>
    </tr>
    <tr>
    <td align="right">&nbsp;</td>
    <td colspan="2">

    <input name="invia" type="submit" value="Aggiungi questa struttura" />
    <input name="annulla" type="reset" value="Annulla" /></td>
    </tr>
    </table>
    </form>
    <%
    else
    query = "insert into strutture ("
    query2 = ""
    dim th(4)
    query = query & "cod, "
    query2 = cod & ", " 'aggiunto cod perché non è contatore
    ordine = up.form("ordine")
    if ordine <> "" then
    query = query & "ordine, "
    query2 = query2 & ordine & ", "
    end if
    query = query & "nome, descr, zona, tipo, lastmin, thumb, thumb1, thumb2, thumb3, thumb4, pdf) values (" & query2
    nome = up.form("nome")
    ' nome = replace(nome, "'", "&apos;")
    nome = replace(nome, chr(34), """)
    query = query & chr(34) & nome & chr(34) & ", "
    descr = up.form("descr")
    ' descr = replace(descr, "'", "&apos;")
    descr = replace(descr, chr(34), """)
    query = query & chr(34) & descr & chr(34) & ", "
    zona = up.form("zona")
    query = query & chr(34) & zona & chr(34) & ", "
    tipo = up.form("tipo")
    query = query & chr(34) & tipo & chr(34) & ", "
    lastmin = up.form("lastmin")
    if lastmin="lastsi" then query = query & "TRUE, " else query = query & "FALSE, "
    ' rimangono thumb e pdf che sono due file
    if up.files("thumb").IsMissing then
    thumb = "no_foto.jpg"
    else
    thumb = up.files("thumb").filename
    if right(thumb, 5) = ".jpeg" then
    thumb = left(thumb, len(thumb)-5) & ".jpg"
    end if
    up.files("thumb").saveas "foto/" & thumb
    end if
    query = query & chr(34) & thumb & chr(34) & ", "
    for i = 1 to 4
    t = "thumb" & i
    if up.files(t).IsMissing then
    th(i-1) = " "
    else
    th(i-1) = up.files(t).filename
    if right(th(i-1), 5) = ".jpeg" then
    th(i-1) = left(th(i-1), len(th(i-1))-5) & ".jpg"
    end if
    up.files(t).saveas "foto/" & th(i-1)
    end if
    query = query & chr(34) & th(i-1) & chr(34) & ", "
    next
    pdf = up.files("pdf").filename
    up.files("pdf").saveas "pdf/" & pdf
    query = query & chr(34) & pdf & chr(34) & ")"

    if thumb <> "no_foto.jpg" then
    set image = Server.CreateObject("AspImage.Image")
    image.ImageFormat = 1
    image.JPEGQuality = 80

    iname = Server.MapPath("foto") & "\" & thumb
    tname = Server.MapPath("thumb") & "\" & thumb
    image.LoadImage iname
    h = image.maxY
    w = image.maxX
    image.fileName = iname
    if w > 380 then
    image.ResizeR 380, cint(380 * h/w)
    image.SaveImage
    end if
    set img = Server.CreateObject("AspImage.Image")
    img.LoadImage iname
    img.fileName = tname
    hh = img.maxY
    ww = img.maxX
    img.ResizeR 120, cint(120 * hh/ww)
    img.SaveImage
    set image = nothing
    set img = nothing
    end if
    for i = 0 to 3
    if th(i) <> " " then
    set image = Server.CreateObject("AspImage.Image")
    image.ImageFormat = 1
    image.JPEGQuality = 80

    iname = Server.MapPath("foto") & "\" & th(i)
    tname = Server.MapPath("thumb") & "\" & th(i)
    image.LoadImage iname
    h = image.maxY
    w = image.maxX
    image.fileName = iname
    if w > 380 then
    image.ResizeR 380, cint(380 * h/w)
    image.SaveImage
    end if
    set img = Server.CreateObject("AspImage.Image")
    img.LoadImage iname
    img.fileName = tname
    hh = img.maxY
    ww = img.maxX
    img.ResizeR 120, cint(120 * hh/ww)
    img.SaveImage
    set image = nothing
    set img = nothing
    end if
    next

    Set inserisci = db.execute(query)
    ' response.write query

    set inserisci = nothing
    response.write "<p>Il record è stato inserito.</p>"
    end if

    set db = nothing
    set up = nothing

    eccetera eccetera....
  • Re: ASP problema ENORME

    Quindi mi sembra di capire che il problema è risolto...
    Bene!

    stellaweb
  • Re: ASP problema ENORME

    Tutte uguali... Aveva chiamate le foto tutte con lo stesso nome....
  • Re: ASP problema ENORME

    Non si può fare mica guidare un camion a un uomo qualsiasi.
    Bisogna saperlo guidare. Non necessariamente avere la patente.
    C'è anche che molte volte si danno per scontate alcune cose, in un momento che non ci sono i saldi !!!
    La prossima volta è meglio dire ai clienti anche di accendere il pc, di collegarsi a intenet, ecc...
    Non si può mai sapere cosa vogliano...

    everybody need Somebody.
    Where is Somebody???
Devi accedere o registrarti per scrivere nel forum
5 risposte