Kan ikke gemme formfelter uden billed med Asp SmartUpload.....
Jeg har 3 formfelter der skal uploades + et input-type filefelt til upload af et billed til en artikel. Navnet på billedet er det eneste der bliver gemt i DB på de andre 3 alm. formfelter. Asp smartUpload uploader billedet til en mappe samtidig. Der virker OK.Når der ikke skal uploades et billede til DB, gemmes der overhovedet intet i DB... En eller anden please help her. Har kigget på det, men lige lidt hjælper det.
Her er scriptet der gemmer til DB (gemNews.asp):
------------------------------------------------<% @Language=\"VBScript\" %>
<% Option Explicit %>
<!-- #include file=\"Adovbs.inc\" -->
<HTML> <body bgcolor=\"#cccccc\" topmargin=\"0\" leftmargin=\"0\" >
<table BGCOLOR=\"#cccccc\" MARGINHEIGHT=\"0\" MARGINWIDTH=\"0\" TOPMARGIN=\"0\" LEFTMARGIN=\"0\" leftmargin=\"0\" Cellpadding=\"0\" Cellspacing=\"0\" Border=\"0\" Width=\"780\" HEIGHT=\"100% valign=\"center\" align=center>
<TD BGCOLOR=\"#cccccc\" WIDTH=780 align=\"center\" valign=\"center\">
<table BGCOLOR=\"#cccccc\" width=\"780\" border=\"0\"><FONT FACE=\"Verdana,Arial,Helvetica\" SIZE=\"4\" COLOR=\"#CC0000\"><hr>Der forekom en fejl !<hr><br>
<%
On Error Resume Next
\' Variabler til upload af filer
Dim mySmartUpload
Dim intCount
Dim item
Dim value
Dim file
\' Variabler til databaseoperationer
Dim cn
Dim strSQL
Dim rs
\' Variabler til postsættene
Dim bytKarak
Dim strHeadline
Dim strDato
Dim strNews1
Dim strFil
Dim i
\' Her erklæres/instantieres aspSmartUpload objektet
Set mySmartUpload = Server.CreateObject(\"aspSmartUpload.SmartUpload\")
\'********** Nedenstående fil-extensions accepteres: *************************************
mySmartUpload.AllowedFilesList = \"jpg,gif,jpeg\"
\' Allow all files except exe,txt,bat and asp
\' ***************************************
mySmartUpload.DeniedFilesList = \"exe,bat,asp,txt\"
\' Only allow files smaller than 50000 bytes
\' *****************************************
mySmartUpload.MaxFileSize = 50000
mySmartUpload.Upload
\' Her fanges dataene fra formularen på siden default.asp
\' Læg mærke til, at man ikke kan benytte Request.Form, men skal benytte mySmartUpload.Form
\'bytKarak = mySmartUpload.Form(\"karakter\")
strHeadline = mySmartUpload.Form(\"Headline\")
strDato = mySmartUpload.Form(\"Dato\")
strNews1 = mySmartUpload.Form(\"News1\")
\'Upload af filer
\'Rettighederne på mappen for IUSR skal være RW
intCount = mySmartUpload.Save(\"images\")
\'Derefter gemmes alt i databasen NEWS
Set cn = Server.CreateObject(\"ADODB.Connection\")
cn.Open \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & Server.MapPath(\"data/NEWS.mdb\")
For i = 1 To mySmartUpload.Files.Count
If mySmartUpload.Files.Item(i).FileName = \"\" Then
Else
strFil = mySmartUpload.Files.Item(i).FileName
strSQL = \"INSERT INTO News (Headline, Dato, News1, Billed) \"
strSQL = strSQL & \"VALUES(\'\" & strHeadline & \"\',\'\" & strDato & \"\',\'\" & strNews1
strSQL = strSQL & \"\',\'\" & strFil & \"\');\"
cn.Execute strSQL
End If
Next
\' Trap errors
\' ***********
If Err Then
Response.Write(\"<TR><TD><FONT FACE=\'Arial, helvetica\' SIZE=2 COLOR=\'#000000\'><b>Fejl Nr. \" &Err.Number &\":</b> \" &Err.Description & \"<BR><BR></TD></TR>\")
Response.Write(\"<TR><TD><FONT FACE=\'Arial, helvetica\' SIZE=2 COLOR=\'#000000\'><b><hr>De har sikkert forsøgt at uploade en filtype, der ikke accepteres!<hr></b></TD></TR>\")
Response.Write(\"<TR><TD><FONT FACE=\'Arial, helvetica\' SIZE=2 COLOR=\'#000000\'><BR>Kun billedfiler af typerne \'billede.gif\', \'billede.jpg\' eller \'billede.jpeg\' accepteres.<BR><BR></TD></TR>\")
Response.Write(\"<TR><TD><FONT FACE=\'Arial, helvetica\' SIZE=2 COLOR=\'#000000\'><b><hr>Husk billedet kun må fylde max. 50 Kb!<hr><BR><BR><input type=\'button\' value=\'<< Prøv igen\' onClick=\'history.go(-1)\'></b></TD></TR>\")
Else
\' Display the number of files uploaded
\' ************************************
Response.Redirect(\"next.htm\")
End If
%>
</table>
</form>
</td>
</tr>
</TABLE>
</body>
</html>