enctype='multipart/form-data' betyder at du sender ikke sender normale form data afsted, men også noget binært, som f.eks. en fil. Du kan ikke tilgå dine form variable på normal måde i resultatsiden når du benytter denne enctype. Det er det som er dit problem ikke? Bruger du en upload komponent til at gemme filen med på resultatsiden? Hvis ja, så indeholder den nogle metoder til at tilgå dine form variable. Hvis ikke, så sig mig lige hvordan du gemmer filen som du uploader.
ursusquietus >> jo, på resultat siden bliver der gemt i en database + der bliver uploadet en fil (med ASPSmartUpload). Men hvordan får jeg så sendt dataen fra min form videre, eller hvordan henter jeg dataen?
' Informations about files ' ************************ Response.Write("Number of files =" & mySmartUpload.Files.count &"<BR>") Response.Write("Total bytes of files =" & mySmartUpload.Files.TotalBytes &"<BR>")
' Select each file ' **************** For each file In mySmartUpload.Files Response.Write(file.FileName & " (" & file.Size & "bytes)<BR>") Next
' FORM Collection ' *************** Response.Write("<BR><STRONG>Form Collection</STRONG><BR>")
' Select each item ' **************** For each item In mySmartUpload.Form ' Select each value of the current item ' ************************************* For each value In mySmartUpload.Form(item) Response.Write(item & " = " & value & "<BR>") Next Next
jo, men jeg forstår ikke helt hvordan jeg skal bruge det, jeg har fx en side der ser sådan ud:
---------- navn: | | <--form ----------
---------- alder: | | <--form ----------
---------- billede: | | |gennemse| <-- upload form ----------
|send|
-------------------------------------- så når man trykker send, bliver det hele sendt til resulatat siden, hvor "navn" og "alder" bliver tilføjet i en database, og "billede" bliver uploadet til serveren.
Men når jeg så bruger enctype='multipart/form-data' - så kan jeg ikke bruge den gamle måde at hente data fra en form: request.form("navn") ... så hvordan skal jeg så hente fra en form?
ok, tror jeg løser problemet ved at sende mine forms til resultat siden, gennem quesrystring, men ved du om der er en begrænsning på hvor meget dere må stå i addresselinien?... eller anden negativt ved at sende forms gennem addr.linien?
errorTxt = "" errorArtist = "" errorAlbum = "" errorIndhold = "" if txt = "" then errorTxt = errorTxt & "tekst" end if if artist = "" then errorArtist = errorArtist & "artist" end if if album = "" then errorAlbum = errorAlbum & "album" end if if indhold1 = "" then errorIndhold = errorIndhold & "indhold" end if if udgivelsesaar = "" then errorudgivelsesaar = errorudgivelsesaar & "udgivelsesaar" end if if rating = "na" then errorRating = errorRating & "rating" end if
Der er en begrænsning, men den er ret høj. Ulempen er at man kan se i URL'en hvad du sender. Men det andet skal altså virke. Vis mig din kode og hvad fejl det giver.
errorTxt = "" errorArtist = "" errorAlbum = "" errorIndhold = "" if txt = "" then errorTxt = errorTxt & "tekst" end if if artist = "" then errorArtist = errorArtist & "artist" end if if album = "" then errorAlbum = errorAlbum & "album" end if if indhold1 = "" then errorIndhold = errorIndhold & "indhold" end if if udgivelsesaar = "" then errorudgivelsesaar = errorudgivelsesaar & "udgivelsesaar" end if if rating = "na" then errorRating = errorRating & "rating" end if
Jeg fandt dette eksempel i en nyhedsgruppe. Du skal blot erstatye hans variabel navne med dine egne. Så istedet for "parent" og "title" kan du bruge "navn" eller hvad du har lyst til. Håber det virker.
' Object creation ' *************** Set fileUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
' Upload ' ****** fileUpload.Upload ne=fileUpload.form.count ' how many form items in the string
'*************************************
for n=1 to ne formEl = fileUpload.form.item(n).name select case (formEl) case "parent" parent = fileUpload.Form.item(n).values
case "title" title = fileUpload.Form.item(n).values
case "zone" zone = fileUpload.Form.item(n).values
case "expiry" expiry = fileUpload.Form.item(n).values
case "linkname" linkname = fileUpload.Form.item(n).values
case "ivb" ivb_f = fileUpload.Form.item(n).values if ivb_f = "TRUE" then ivb = TRUE end if case "focus" focus = fileUpload.Form.item(n).values
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.