30 messaggi dal 02 luglio 2003
Questo è il codice della mia pagina che effettua l'upload di un file immagine e inserisce una news in un database

<%@LANGUAGE="VBSCRIPT"%>
<% session("loggato")
If session("loggato")="si" then%>

<html>
<head>
<%' Imposta il tempo max di esecuzione dello script (espresso in millisecondi)
Server.ScriptTimeout=10000
Response.Expires=0
Response.Buffer=TRUE
Response.Clear()

'impostazioni variabili
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

'individua il tipo di file che si cerca di fare l upload
contentType = UploadRequest.Item("file").Item("ContentType")

'intero percorso del file
filepathname = UploadRequest.Item("file").Item("Filename")

'****************************** CONTROLLI IMMAGINE

'controllo tipo immagine
tipo = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"."))

'cambiare la scrita zip e gz qui sotto per inserire la sigla di un altro tipo di file
'Se si vuole permettere l'upload di qualsiasi tipo di file cancellare o commentare
'le successive 4 linee di codice e l'ultimo END IF della pagina upload.asp
If tipo <> "jpg" AND tipo <> "gif" then
Response.Write ("<b>Errore Upload</b>. Non è possibile fare upload di un file ." & tipo)
Response.End

' calcolo del peso della immagine
'imposta qui, il peso max. 9000 vuol dire 9 Kb circa
ElseIf byteCount > 9000 then
Response.Write ("<b>Errore Upload</b>. File troppo grande!")
Response.End
Else

'*********************************** NOME FINALE DEL FILE e UPLOAD
nomefile = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))

'in questa variabile viene salvato il nome del file che sarà del tipo 2311235.gif
filename = nomefile

value = UploadRequest.Item("file").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14

'da questa riga di codice si specifica l'indirizzo relativo dove sarà inserito il file
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("../Immagini") & filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close
End If
End If%>
<title>Creazione Sistema per la gestione delle news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#00CCFF">

<p align="center"><font size="2" face="Verdana"><b>Creazione Sistema per la

gestione delle news</b></font></p></p>
<% if request("titolo")="" or request("news")="" or request("autore")="" or request("data")="" then %>
<script language="JavaScript">

alert ("Inserire tutti i dati!")

history.back()

</script>
<% Response.End
end if%>

<p align="center">


<%dim objconn,dat,title,auth,news,id
title=Request.Form("titolo")
auth=Request.Form("autore")
dat=Request.Form("data")
news=Request.Form("news")
id=Request("id")
foto=Request.Form("foto")

set objconn=Server.CreateObject("ADODB.Connection")
objconn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("..\..\database\news.mdb")
'objconn.ConnectionString ="DSN=popo"

objconn.Open

dim aggiungi,objrs,objrs2,view,aggiungifoto,objrs3
dim modo
'RICHIEDE LA VARIABILE MODO?.
modo = Request.Querystring("modo")


Set objrs = Server.CreateObject("ADODB.Recordset")
Set objrs3 = Server.CreateObject("ADODB.Recordset")
Select case modo
'SE ESSA E? UGUALE AD ?AGGIUNGI?, AGGIUNGERA? LA NEWS?
case "aggiungi"%>

<p align="left"><font size="2" face="Verdana">&gt;&gt; <b>Aggiungi News</b></font>

<%aggiungi = "INSERT INTO news(data,titolo,autore,news) VALUES (#"&dat&"#,'"&title&"','"&auth&"','"&news&"')"

objrs.Open aggiungi, objconn%>

<!--#include file="Esegui.asp" -->
<%objrs3.Open aggiungifoto, objconn%>
<br><br><center></center>
<%Response.Write("Operazione eseguita correttamente!")%></center>

<%'?ALTRIMENTI, MODIFICHERA? LA NEWS?.

case "modifica"%>

<p align="left"><font size="2" face="Verdana">&gt;&gt; <b>Modifica News</b></font>

<%aggiungi = "UPDATE news SET data=#"&dat&"#, titolo='"&title&"', autore='"&auth&"', news='"&news&"', immagine='"&foto&"' where Id ="&id

objrs.Open aggiungi, objconn



view = "SELECT * FROM news WHERE Id ="&id

set objrs2 = Server.CreateObject("ADODB.Recordset")
objrs2.Open view,objconn %>
<br><br><center></center>

<%Response.Write("Operazione eseguita correttamente!")%></center>

<%do while not objrs2.EOF%><br><br>

<table bgcolor="#00CCFF" width="600" height="380" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="140" height="35"><%=objrs2("data")%></td>
<td width="200" height="35"><%=objrs2("titolo")%></td>
<td width="260" height="35"></td>
</tr>
<tr><td width="600" colspan="3" height="35"><%=objrs2("autore")%></td></tr>
<tr><td colspan="3" height="270" width="600"><%=objrs2("news")%></td>
</tr>
<tr><td colspan="3" height="40" width="600"><div align="center"><a href="foto.asp"><font face="Verdana" size="3">Foto</font></a></div></td></tr>
</table>
<%objrs2.MoveNext
loop
End Select
objconn.Close%>
<p align="left">&nbsp;</p>
<p align="left"><font size="2" face="Verdana">Le operazioni che puoi eseguire:</font>
</p>
<ul>
<li>
<p align="left"><b><font size="2" face="Verdana"><a href="aggiungi1.asp">Aggiungi
News</a></font></b></li>
<li>
<p align="left"><b><font size="2" face="Verdana"><a href="news.asp">Modifica/Elimina
News</a></font></b></li>
<li>
<p align="left"><b><font size="2" face="Verdana"><a href="esci.asp">Esci</a></font></b></li>
</ul>
</body>
</html>
<%end if%>

Il problema e che il server mi resttuisce l'errore "prevista istruzione end if
ma ho controllato più volte il codice eppure non mi pare che manchi qualcosa
Qualcuno può aiutarmi

Ricordati sempre di sapere di non sapere e che ci sarà sempre qualcosa da imparare
9 messaggi dal 11 giugno 2002
In effetti nel tuo codice l'ultimo End If è di troppo.
Se si riferisce al primo if (If session("loggato")="si" then...) allora
hai aggiunto un end if di troppo in questa parte del codice:
.
.
.
'da questa riga di codice si specifica l'indirizzo relativo dove sarà inserito il file
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("../Immagini") & filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close
End If ' UNO DI QUESTI DUE IF è DI TROPPO
End If%>
20 messaggi dal 23 settembre 2003
ho copiato la pagina ed ho ordinato solo per "IF" e se non erro, tu dovresti aver già chiuso tutti gli "IF" per cui quello alla fine della pagina è di troppo.
li ho evidenziati come vedrai, con !!!!!!!
<%@LANGUAGE="VBSCRIPT"%>
<% session("loggato")
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1° IF
If session("loggato")="si" then%>

<html>
<head>
<% ' Imposta il tempo max di esecuzione dello script (espresso in millisecondi)
Server.ScriptTimeout=10000
Response.Expires=0
Response.Buffer=TRUE
Response.Clear()

'impostazioni variabili
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

'individua il tipo di file che si cerca di fare l upload
contentType = UploadRequest.Item("file").Item("ContentType")

'intero percorso del file
filepathname = UploadRequest.Item("file").Item("Filename")

'****************************** CONTROLLI IMMAGINE

'controllo tipo immagine
tipo = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"."))

'cambiare la scrita zip e gz qui sotto per inserire la sigla di un altro tipo di file
'Se si vuole permettere l'upload di qualsiasi tipo di file cancellare o commentare
'le successive 4 linee di codice e l'ultimo END IF della pagina upload.asp
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2° IF
If tipo <> "jpg" AND tipo <> "gif" then
Response.Write ("<b>Errore Upload</b>. Non è possibile fare upload di un file ." & tipo)
Response.End

' calcolo del peso della immagine
'imposta qui, il peso max. 9000 vuol dire 9 Kb circa
ElseIf byteCount > 9000 then
Response.Write ("<b>Errore Upload</b>. File troppo grande!")
Response.End
Else

'*********************************** NOME FINALE DEL FILE e UPLOAD
nomefile = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))

'in questa variabile viene salvato il nome del file che sarà del tipo 2311235.gif
filename = nomefile

value = UploadRequest.Item("file").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14

'da questa riga di codice si specifica l'indirizzo relativo dove sarà inserito il file
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("../Immagini") & filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! chiudi 2°
End If
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! chiudi 3°

End If%>
<title>Creazione Sistema per la gestione delle news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#00CCFF">

<p align="center"><font size="2" face="Verdana"><b>Creazione Sistema per la

gestione delle news</b></font></p></p>
<%
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 3° IF
if request("titolo")="" or request("news")="" or request("autore")="" or request("data")="" then %>
<script language="JavaScript">

alert ("Inserire tutti i dati!")

history.back()

</script>
<% Response.End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! chiudi 3°
end if%>

<p align="center">


<% dim objconn,dat,title,auth,news,id
title=Request.Form("titolo")
auth=Request.Form("autore")
dat=Request.Form("data")
news=Request.Form("news")
id=Request("id")
foto=Request.Form("foto")

set objconn=Server.CreateObject("ADODB.Connection")
objconn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("..\..\database\news.mdb")
'objconn.ConnectionString ="DSN=popo"

objconn.Open

dim aggiungi,objrs,objrs2,view,aggiungifoto,objrs3
dim modo
'RICHIEDE LA VARIABILE MODO?.
modo = Request.Querystring("modo")


Set objrs = Server.CreateObject("ADODB.Recordset")
Set objrs3 = Server.CreateObject("ADODB.Recordset")
Select case modo
'SE ESSA E? UGUALE AD ?AGGIUNGI?, AGGIUNGERA? LA NEWS?
case "aggiungi"%>

<p align="left"><font size="2" face="Verdana">&gt;&gt; <b>Aggiungi News</b></font>

<% aggiungi = "INSERT INTO news(data,titolo,autore,news) VALUES (#"&dat&"#,'"&title&"','"&auth&"','"&news&"')"

objrs.Open aggiungi, objconn%>

<!--#include file="Esegui.asp" -->
<%objrs3.Open aggiungifoto, objconn%>
<br><br><center>
<p></p>
</center>
<%Response.Write("Operazione eseguita correttamente!")%></center>

<%'?ALTRIMENTI, MODIFICHERA? LA NEWS?.

case "modifica"%>

<p align="left"><font size="2" face="Verdana">&gt;&gt; <b>Modifica News</b></font>

<%aggiungi = "UPDATE news SET data=#"&dat&"#, titolo='"&title&"', autore='"&auth&"', news='"&news&"', immagine='"&foto&"' where Id ="&id

objrs.Open aggiungi, objconn



view = "SELECT * FROM news WHERE Id ="&id

set objrs2 = Server.CreateObject("ADODB.Recordset")
objrs2.Open view,objconn %>
<br><br><center>
<p></p>
</center>

<%Response.Write("Operazione eseguita correttamente!")%></center>

<%do while not objrs2.EOF%><br><br>

<table bgcolor="#00CCFF" width="600" height="380" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="140" height="35"><%=objrs2("data")%></td>
<td width="200" height="35"><%=objrs2("titolo")%></td>
<td width="260" height="35"></td>
</tr>
<tr><td width="600" colspan="3" height="35"><%=objrs2("autore")%></td></tr>
<tr><td colspan="3" height="270" width="600"><%=objrs2("news")%></td>
</tr>
<tr><td colspan="3" height="40" width="600"><div align="center"><a href="foto.asp"><font face="Verdana" size="3">Foto</font></a></div></td></tr>
</table>
<%objrs2.MoveNext
loop

End Select
objconn.Close%>
<p align="left">&nbsp;</p>
<p align="left"><font size="2" face="Verdana">Le operazioni che puoi eseguire:</font>
</p>
<ul>
<li>
<p align="left"><b><font size="2" face="Verdana"><a href="aggiungi1.asp">Aggiungi
News</a></font></b></li>
<li>
<p align="left"><b><font size="2" face="Verdana"><a href="news.asp">Modifica/Elimina
News</a></font></b></li>
<li>
<p align="left"><b><font size="2" face="Verdana"><a href="esci.asp">Esci</a></font></b></li>
</ul>
</body>
</html>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Questo a chi appartiene ???
<% end if%>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.