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"> </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, "'", "'")
nome = replace(nome, chr(34), """)
query = query & chr(34) & nome & chr(34) & ", "
descr = up.form("descr")
' descr = replace(descr, "'", "'")
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....