11. juni 2002 - 01:21
Der er
12 kommentarer og 1 løsning
ASP-Upload
Hej! Jeg har en <FORM> her fra skal gemmes de indtastede oplysninger.(det virker fint). Nu skal der så uploades en billed-fil fra samme <FORM>. Det er her problemet kommer. Jeg kan godt få det til at virke hver for sig. Alså uploade en fil, uden de indtastede oplysninger. <FORM>: <<form action="opretnyvare1.asp" method="post"> <TABLE WIDTH="99%" BORDER=1 CELLSPACING=1 CELLPADDING=1 BGCOLOR=white> <TR> <TD></TD> <TD></TD> </TR> <TR> <TD><font face="verdana" size="2">Varenavn:</font></TD> <TD><input type="text" name="varenavn"></TD> </TR> <TR> <TD><font face="verdana" size="2">Varebeskrivelse:</font></TD> <TD><TEXTAREA name="varebeskrivelse" rows=4 cols=15></TEXTAREA></TD> </TR> <TR> <TD><font face="verdana" size="2">Farver:</font></TD> <TD><input type="text" size="7" name="farve1"> <input type="text" size="7" name="farve2"> <input type="text" size="7" name="farve3"> <input type="text" size="7" name="farve4"></TD> </TR> <TR> <TD><font face="verdana" size="2">Størrelser:</font></TD> <TD><input type="text" size="7" name="size1"> <input type="text" size="7" name="size2"> <input type="text" size="7" name="size3"> <input type="text" size="7" name="size4"></TD> </TR> <TR> <TD><font face="verdana" size="2">Pris:</font></TD> <TD><input type="text" name="pris" size="5"></TD> </TR> <TR> <TD><font face="verdana" size="2">Billede:</font></TD> <TD><INPUT TYPE="file" name="file1" enctype="multipart/form-data"></TD> </TR> <TR> <TD><font face="verdana" size="2">Kategori:</font></TD> <TD><select name="kategori"> <% If objRS.EOF Then Response.Write "<font color=red><b>Ingen Varer fundet i denne Kategori !!</b></font>" Else Response.Write "<UL>" Do while not objRS.EOF Response.Write "<option value=" & objRS("Kategori")& ">" & objRS("Kategori") & "</option>" objRS.Movenext Loop End if objRS.Close set objRS = Nothing %> </select> </TD> </TR> <TR> <TD> </TD> <TD><input type="submit" value="Opret Varen"></TD> </TR> </TABLE> </form> Opretnyvare1.asp : strSQL = "INSERT INTO varer ( varenavn, varebeskrivelse, color1, color2, color3, color4, size1, size2, size3, varepris, Kategori ) " strSQL = strSQL & " VALUES('" & strVarenavn & "','" & strVarebeskrivelse & "','" & strFarve1 & "','" & strFarve2 & "'," strSQL = strSQL & "'" & strFarve3 & "','" & strFarve4 & "','" & strSize1 & "','" & strSize2 & "','" & strSize3 & "','" & intPris & "','" & strKategori & "')" objconn.Execute strSQL objRS.Close Set objRS = Nothing objConn.Close set objConn = Nothing Set Upload = Server.CreateObject("Persits.Upload.1") Count = Upload.Save("d:\home\istoriadk\www\lachica\webshop\varer_pic\")
Annonceindlæg fra Lector
Den samlede form skal have enctype="multipart/form-data" og så skal du huske at Request.Form skal erstattes af Upload.Form. Har ikke nærlæst din kode, men kan forestille mig at dette måske er nok?
lp
Nybegynder
11. juni 2002 - 01:24
#2
2 ting: 1. Du har 2 stk << i din form.... 2. Du mangler følgende i dit form tag for at kunne uploade en fil: ENCTYPE="multipart/form-data" Altså: <<form action="opretnyvare1.asp" method="post"> bliver til <form action="opretnyvare1.asp" method="post" ENCTYPE="multipart/form-data"> Se lige om det ikke virker :)
Hvis jeg giver FORMEN en 'enctype="multipart/form-data' kommer den med en fejl i Field 'varer.varenavn' cannot be a zero-length string. altså får den ikke felterne med ????
lp
Nybegynder
11. juni 2002 - 01:33
#4
du kan heller ikke referere til den med strVarenavn - det skal være Request.Form("varenavn") and so on for alle felterne... medmindre du allerede gør det og ikke viser hele koden fra opretnyvare1.asp...
Hvordan initialiserer du dine variabler som du anvender til din insert ? Hvis det er noget á la strVarenavn = Request.Form("VareNavn") skal det ændres til strVarenavn = Upload.Form("VareNavn")
jo det gør jeg da, det var bare for ikke at fylde hele siden :-)
Jeg gør sådan: strFarve1 = Request.Form("farve1") strFarve2 = Request.Form("farve2") strFarve3 = Request.Form("farve3") strFarve4 = Request.Form("farve4") Og det skal ændres således: ?? strFarve1 = Upload.Form("farve1") strFarve2 = Upload.Form("farve2") strFarve3 = Upload.Form("farve3") strFarve4 = Upload.Form("farve4")
OK det virker ikke ?? Jeg får fejlen: Object required: 'Upload' Du får lige hele opretnyvare1.asp <%@ Language=VBScript%> <% strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.Mappath("../webshop/db/webshop.mdb") & ";" Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConnection Set objRS = Server.CreateObject("ADODB.Recordset") Set objRS.ActiveConnection = objconn strVarenavn = Upload.Form("varenavn") strVarenavn = Replace(strVarenavn,"'","''") strVarebeskrivelse = Upload.Form("varebeskrivelse") strVarebeskrivelse = Replace(strVarebeskrivelse,"'","''") strFarve1 = Upload.Form("farve1") strFarve2 = Upload.Form("farve2") strFarve3 = Upload.Form("farve3") strFarve4 = Upload.Form("farve4") strSize1 = Upload.Form("size1") strSize2 = Upload.Form("size2") strSize3 = Upload.Form("size3") strSize4 = Upload.Form("size4") intPris = Upload.Form("pris") strKategori = Upload.Form("kategori") strSQL = "INSERT INTO varer ( varenavn, varebeskrivelse, color1, color2, color3, color4, size1, size2, size3) " strSQL = strSQL & " VALUES('" & strVarenavn & "','" & strVarebeskrivelse & "','" & strFarve1 & "','" & strFarve2 & "'," strSQL = strSQL & "'" & strFarve3 & "','" & strFarve4 & "','" & strSize1 & "','" & strSize2 & "','" & strSize3 & "')" objconn.Execute strSQL Set objRS = Nothing objConn.Close set objConn = Nothing Set Upload = Server.CreateObject("Persits.Upload.1") Count = Upload.Save("d:\home\istoriadk\www\lachica\webshop\varer_pic\") %> <HTML> <HEAD> </HEAD> <BODY> Varen er oprettet !!<br> </BODY> </HTML>
11. juni 2002 - 01:43
#10
Du skal have flyttet din upload helt op i toppen af koden :-)
11. juni 2002 - 01:46
#11
OK, prøver lige
11. juni 2002 - 01:50
#12
Yes, selvfølgelig den skal jo lave objectet først ;-) Nu virker det. Tak for hjælpen det havde nok taget mig et par dage selv :-)
11. juni 2002 - 02:01
#13
Det var så lidt :-)
Kurser inden for grundlæggende programmering