Start med at lave den alm. formular, når den så er lavet i db, kan videresede til uplad billede formularen, få den til at uppe åbne db'en igen og derefter skrive stien og lukke db'en efter sig.
Jeg har lavet det på tidspunkt, jeg kan bare ikke lige finde sourcen nu, jeg kan lige prøve og lede lidt efter dne.
roadi> det vil være kanon, hvis du kan finde koden, for jeg har ikke helt styr på ASP endnu. Kan godt følge din forklaring, men at lave det er noget helt andet. :-)
Der er nok smartest ikke at bruge æ, ø og å. Der er lige en ting mere, i din form står navnene på felterne med stort begyndelses bogstav, samt de hedder noget andet end jeg har skrevet i mySmartUpload.Form(""), det skal du rette til. asp delen skal så være i filen GM-indsaet.asp
Du kan ikke bruge request.form når du uploader med Aspsmartupload. Samtidig mangler du aspsmartupload, så du kan gemme billedet på serveren.
Husk det her i din form: ENCTYPE="multipart/form-data"
<% ' Variables ' ********* Dim mySmartUpload Dim file Dim intCount intCount=0
' Object creation ' *************** Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
' Upload ' ****** mySmartUpload.Upload
' Select each file ' **************** For each file In mySmartUpload.Files ' Only if the file exist ' ********************** If not file.IsMissing Then ' Save the files with his original names in a virtual path of the web server ' ****************************************************************************
'file.SaveAs("/../Billeder" & file.FileName) ' sample with a physical path file.SaveAs("e:\Billeder\" & file.FileName)
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/ASP/gmdb.mdb") Conn.Open DSN
'Tilføjer brugeren til databasen Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "select * from DBGM" rs.Open strsql, conn, 1, 3
'Tilføjer brugeren til databasen og sender ham/hende til login siden rs.AddNew rs("købsalgbytte") = mySmartUpload.Form("købsalgbytte") rs("kategori") = mySmartUpload.Form("kategori") rs("overskrift") = mySmartUpload.Form("overskrift") rs("beskrivelse") = mySmartUpload.Form("beskrivelse") rs("pris") = mySmartUpload.Form("pris") rs("email") = mySmartUpload.Form("email") rs("telefon") = mySmartUpload.Form("telefon") rs("postnr") = mySmartUpload.Form("postnr") rs("sti") = FileName rs.update
intCount = intCount + 1
End If ' Display the number of files which could be uploaded ' *************************************************** Response.Write("<BR>" & mySmartUpload.Files.Count & " file(r) kunne blive uploaded.<BR>")
' Display the number of files uploaded ' ************************************ Response.Write(intCount & " file(r) uploaded.<BR>") Next %>
Prøv det. Dette skal stå i din form: <form method="post" action="GM-indsaet.asp" ENCTYPE="multipart/form-data"> Ellers vil den ikke uploade billedet. Husk at rette informationerne til i mySmartUpload.Form("xxx") så de passer med der står i name i din form.
mrs> Det fand.. dejligt at der findes nogen som dig, der gider spilde til på os der gerne vil lære ASP. Men som helst skal se koden for at kunne fatte det. Jeg tester det lige iaften. Og vender tilbage med svar :-)
<html> <title>Indsætte data i databasen</title> <head> </head> <body> <h3>Databasen er opdateret</h3> <a href="default.asp">Tilbage til forsiden</a>
<% ' Variables ' ********* Dim mySmartUpload Dim file Dim intCount intCount=0
' Object creation ' *************** Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
' Upload ' ****** mySmartUpload.Upload
' Select each file ' **************** For each file In mySmartUpload.Files ' Only if the file exist ' ********************** If not file.IsMissing Then ' Save the files with his original names in a virtual path of the web server ' ****************************************************************************
file.SaveAs("/log" & file.FileName) ' sample with a physical path 'file.SaveAs("e:\Billeder\" & file.FileName)
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/log/gmdb.mdb") Conn.Open DSN
'Tilføjer brugeren til databasen Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "select * from DBGM" rs.Open strsql, conn, 1, 3
End If ' Display the number of files which could be uploaded ' *************************************************** Response.Write("<BR>" & mySmartUpload.Files.Count & " file(r) kunne blive uploaded.<BR>")
' Display the number of files uploaded ' ************************************ Response.Write(intCount & " file(r) uploaded.<BR>") Next %> </body> </html>
****************
filerne ligger på serveren som følger:
default.asp = /test gm-indsaet.asp = /test DB = /log
Har du rettigheder til gemme billederne på denne sti: file.SaveAs("/log" & file.FileName)
Jeg gætter på det er det. Det smarteste er nok at ligge billederne i en seperat mappe. Hvis det er på et webhotel skal du ringe/skrive til dem, og be og at give dig rettigheder til at gemme i pågældende mappe.
Der er skrive adgang til /log - jeg har andre DB der ligger der og der kan fint skrives dertil. Der er ikke blevet gemt noget i DB. Hvilken datatype skal kolonnen FILE1 have i DB?
mrs> jeg har nu fået skidtet til at virke, ihvertfald delvis.. Det der nu er problemet er at selve filnavnet ikke bliver skrevet i DB feltet er tomt. Men filerne bliver godtnok lagt i det rette bibliotek.
>> Mrs: Du kan ikke bruge request.form når du uploader med Aspsmartupload.
Hvis der er nogen der er i tvivl, så kan man godt bruge request.form på sammen tid man bruger Aspsmartupload!
Synes godt om
Ny brugerNybegynder
Din løsning...
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.