13. februar 2004 - 13:25
Der er
13 kommentarer og 2 løsninger
Upload af form felter og filer samtidigt
Det evigt tilbagevendende problem: Jeg har en række felter med normal tekst. Disse skal alle sættes ind i forskellige tabeller i databasen (se nedenstående). Udover disse tekstfelter, er der også fem felter af typen "file". Disse skal uploades samtidigt med at teksten indsættes. Der skal desuden oprettes mapper etc. Det hele har jeg koden til. Problemet kommer bare når jeg samtidigt vil have normale requset.form() på min side. Jeg har prøvet, synes jeg selv, de muligheder der er med aspsmartupload, men jeg synes mine indsættelser (nedenstående) er for avancerede til at bruge deres eksempel (med items etc.) - i hvert fald bliver det for avanceret til mig Håber njogen kan hjælpe. <% if Request.Form("customer_number") <> "" then set conn = server.CreateObject("ADODB.CONNECTION") Conn.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=server; PORT=3306; DATABASE=db; UID=bruger; PWD=pass;" SQL = "SELECT customer_number FROM customer_company LIMIT " & int(Request.Form("customer_number"))-1 & ",1" set rs = conn.execute(SQL) SQL = "Insert into job_brief (customer_number, background, product, objective, success_criterion, main_message, believe, target_group, why_use, why_not_use, jobnumber, brand, prac_product, job_title, briefing_date, responsible, planner, creative_team, int_presentation, ext_presentation, deadline, prod_budget, est_creative_time, experience, brand_activities, comp_activities, formats) values('" & rs("customer_number") & "','" & Replace(Request.Form("background"), "'","''") & "','" & Replace(Request.Form("product"), "'","''") & "','" & Replace(Request.Form("objective"), "'","''") & "','" & Replace(Request.Form("success_criterion"), "'","''") & "','" & Replace(Request.Form("main_message"), "'","''") & "','" & Replace(Request.Form("believe"), "'","''") & "','" & Replace(Request.Form("target_group"), "'","''") & "','" & Replace(Request.Form("why_use"), "'","''") & "','" & Replace(Request.Form("why_not_use"), "'","''") & "','" & Replace(Request.Form("jobnumber"), "'","''") & "','" & Replace(Request.Form("brand"), "'","''") & "','" & Replace(Request.Form("prac_product"), "'","''") & "','" & Replace(Request.Form("job_title"), "'","''") & "','" & Replace(Request.Form("briefing_date"), "'","''") & "','" & Replace(Request.Form("responsible"), "'","''") & "','" & Replace(Request.Form("planner"), "'","''") & "','" & Replace(Request.Form("creative_team"), "'","''") & "','" & Replace(Request.Form("int_presentation"), "'","''") & "','" & Replace(Request.Form("ext_presentation"), "'","''") & "','" & Replace(Request.Form("deadline"), "'","''") & "','" & Replace(Request.Form("prod_budget"), "'","''") & "','" & Replace(Request.Form("est_creative_time"), "'","''") & "','" & Replace(Request.Form("experience"), "'","''") & "','" & Replace(Request.Form("brand_activities"), "'","''") & "','" & Replace(Request.Form("comp_activities"), "'","''") & "','" & Replace(Request.Form("formats"), "'","''") & "')" conn.execute(SQL) SQL = "SELECT MAX(ID) AS ID FROM job_brief" set rs = conn.execute(SQL) ce_id = Request.Form("customer_employee_id") arr = Split(ce_id, ",") for i = lbound(arr) to ubound(arr) SQL = "Insert into job_brief_emp (ID_employee, ID_job_brief) values ('" & arr(i) & "','" & rs("ID") & "')" Conn.Execute(SQL) next SQL = "Insert into job_brief_manda (ID, logo, logo_where, duty, duty_where, color, color_where, pic_material, pic_material_where, selling_line, selling_line_where, fonts, fonts_where, music, music_where, movie, movie_where) values('" & rs("ID") & "','" & Replace(Request.Form("logo"), "'","''") & "','" & Replace(Request.Form("logo_where"), "'","''") & "','" & Replace(Request.Form("duty"), "'","''") & "','" & Replace(Request.Form("duty_where"), "'","''") & "','" & Replace(Request.Form("color"), "'","''") & "','" & Replace(Request.Form("color_where"), "'","''") & "','" & Replace(Request.Form("pic_material"), "'","''") & "','" & Replace(Request.Form("pic_material_where"), "'","''") & "','" & Replace(Request.Form("selling_line"), "'","''") & "','" & Replace(Request.Form("selling_line_where"), "'","''") & "','" & Replace(Request.Form("fonts"), "'","''") & "','" & Replace(Request.Form("fonts_where"), "'","''") & "','" & Replace(Request.Form("music"), "'","''") & "','" & Replace(Request.Form("music_where"), "'","''") & "','" & Replace(Request.Form("movie"), "'","''") & "','" & Replace(Request.Form("movie_where"), "'","''") & "')" conn.execute(SQL) SQL = "Insert into job_brief_media (ID, tv, radio, press, outdoor, direct_mail, promotion, sponsorship, in_store, new_media, web) values('" & rs("ID") & "','" & Request.Form("tv") & "','" & Request.Form("radio") & "','" & Request.Form("press") & "','" & Request.Form("outdoor") & "','" & Request.Form("direct_mail") & "','" & Request.Form("promotion") & "','" & Request.Form("sponsorship") & "','" & Request.Form("in_store") & "','" & Request.Form("new_media") & "','" & Request.Form("web") & "')" conn.execute(SQL) End if %>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
13. februar 2004 - 13:27
#1
Når du opretter en upload-komponent med fx set a = server.createobject(...); skal du bruge a.form("...") i stedet for request.form("..."). Simpel ting - ikke 200p værd.
13. februar 2004 - 13:38
#2
pis mand! Det prøver jeg lige - jeg troede det var noget kæmpe!
13. februar 2004 - 13:49
#3
lige et spørgsmål til. Kan jeg beholde den her: set conn = server.CreateObject("ADODB.CONNECTION") Conn.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=server; PORT=3306; DATABASE=db; UID=bruger; PWD=pass;" hvis jeg laver en ny: Set a = Server.CreateObject("aspSmartUpload.SmartUpload")
13. februar 2004 - 13:57
#4
ups, glem seneste spørgsmål
13. februar 2004 - 15:02
#5
erikjacobsen >> Ved ikke om du kan overskue min kode, men jeg er i knibe. Nu vil den ingengang lægge mine udfyldte forms ind i databasen. Har jeg ikke gjort det korrekt? Jeg har ændret alle mine request.form til a.form.. bruger som du kan se smartupload <% Dim a Dim file Set a = Server.CreateObject("aspSmartUpload.SmartUpload") if a.Form("customer_number") <> "" then set conn = server.CreateObject("ADODB.CONNECTION") Conn.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=server; PORT=3306; DATABASE=db; UID=bruger; PWD=pass;" SQL = "SELECT customer_number FROM customer_company LIMIT " & int(a.Form("customer_number"))-1 & ",1" set rs = conn.execute(SQL) SQL = "Insert into job_brief (customer_number, background, product, objective, success_criterion, main_message, believe, target_group, why_use, why_not_use, jobnumber, brand, prac_product, job_title, briefing_date, responsible, planner, creative_team, int_presentation, ext_presentation, deadline, prod_budget, est_creative_time, experience, brand_activities, comp_activities, formats) values('" & rs("customer_number") & "','" & Replace(a.Form("background"), "'","''") & "','" & Replace(a.Form("product"), "'","''") & "','" & Replace(a.Form("objective"), "'","''") & "','" & Replace(a.Form("success_criterion"), "'","''") & "','" & Replace(a.Form("main_message"), "'","''") & "','" & Replace(a.Form("believe"), "'","''") & "','" & Replace(a.Form("target_group"), "'","''") & "','" & Replace(a.Form("why_use"), "'","''") & "','" & Replace(a.Form("why_not_use"), "'","''") & "','" & Replace(a.Form("jobnumber"), "'","''") & "','" & Replace(a.Form("brand"), "'","''") & "','" & Replace(a.Form("prac_product"), "'","''") & "','" & Replace(a.Form("job_title"), "'","''") & "','" & Replace(a.Form("briefing_date"), "'","''") & "','" & Replace(a.Form("responsible"), "'","''") & "','" & Replace(a.Form("planner"), "'","''") & "','" & Replace(a.Form("creative_team"), "'","''") & "','" & Replace(a.Form("int_presentation"), "'","''") & "','" & Replace(a.Form("ext_presentation"), "'","''") & "','" & Replace(a.Form("deadline"), "'","''") & "','" & Replace(a.Form("prod_budget"), "'","''") & "','" & Replace(a.Form("est_creative_time"), "'","''") & "','" & Replace(a.Form("experience"), "'","''") & "','" & Replace(a.Form("brand_activities"), "'","''") & "','" & Replace(a.Form("comp_activities"), "'","''") & "','" & Replace(a.Form("formats"), "'","''") & "')" conn.execute(SQL) SQL = "SELECT MAX(ID) AS ID FROM job_brief" set rs = conn.execute(SQL) ce_id = a.Form("customer_employee_id") arr = Split(ce_id, ",") for i = lbound(arr) to ubound(arr) SQL = "Insert into job_brief_emp (ID_employee, ID_job_brief) values ('" & arr(i) & "','" & rs("ID") & "')" Conn.Execute(SQL) next SQL = "Insert into job_brief_manda (ID, logo, logo_where, duty, duty_where, color, color_where, pic_material, pic_material_where, selling_line, selling_line_where, fonts, fonts_where, music, music_where, movie, movie_where) values('" & rs("ID") & "','" & Replace(a.Form("logo"), "'","''") & "','" & Replace(a.Form("logo_where"), "'","''") & "','" & Replace(a.Form("duty"), "'","''") & "','" & Replace(a.Form("duty_where"), "'","''") & "','" & Replace(a.Form("color"), "'","''") & "','" & Replace(a.Form("color_where"), "'","''") & "','" & Replace(a.Form("pic_material"), "'","''") & "','" & Replace(a.Form("pic_material_where"), "'","''") & "','" & Replace(a.Form("selling_line"), "'","''") & "','" & Replace(a.Form("selling_line_where"), "'","''") & "','" & Replace(a.Form("fonts"), "'","''") & "','" & Replace(a.Form("fonts_where"), "'","''") & "','" & Replace(a.Form("music"), "'","''") & "','" & Replace(a.Form("music_where"), "'","''") & "','" & Replace(a.Form("movie"), "'","''") & "','" & Replace(a.Form("movie_where"), "'","''") & "')" conn.execute(SQL) SQL = "Insert into job_brief_media (ID, tv, radio, press, outdoor, direct_mail, promotion, sponsorship, in_store, new_media, web) values('" & rs("ID") & "','" & a.Form("tv") & "','" & a.Form("radio") & "','" & a.Form("press") & "','" & a.Form("outdoor") & "','" & a.Form("direct_mail") & "','" & a.Form("promotion") & "','" & a.Form("sponsorship") & "','" & a.Form("in_store") & "','" & a.Form("new_media") & "','" & a.Form("web") & "')" conn.execute(SQL) Dim FSO SET FSO = Server.CreateObject("Scripting.FileSystemObject") if a.Form("jobnumber") = "" then If NOT FSO.FolderExists(Server.Mappath("\") & "\test\brief\brief" & rs("ID")) Then 'then we create it on this drive in the path we specify 'FSO.CreateFolder("test") FSO.CreateFolder(Server.Mappath("\") & "\test\brief\brief" & rs("ID")) a.Upload a.Save(Server.Mappath("\") & "\test\brief\brief" & rs("ID")) Response.Write("Number of files =" & a.Files.count &"<BR>") Response.Write("Total bytes of files =" & a.Files.TotalBytes &"<BR>") For each file In a.Files Response.Write(file.FileName & " (" & file.Size & "bytes)<BR>") Next Else Response.Write "THE BRIEF-FOLDER ALREADY EXISTS" End If 'this line destroys the instance of the File Scripting Object named myFSO elseif a.Form("jobnumber") <> "" then If NOT FSO.FolderExists(Server.Mappath("\") & "\test\jobs\" & a.form("jobnumber")) Then 'then we create it on this drive in the path we specify 'FSO.CreateFolder("test") FSO.CreateFolder(Server.Mappath("\") & "\test\jobs\" & a.form("jobnumber")) a.Upload a.Save(Server.Mappath("\") & "\test\jobs\" & a.form("jobnumber")) Response.Write("Number of files =" & a.Files.count &"<BR>") Response.Write("Total bytes of files =" & a.Files.TotalBytes &"<BR>") For each file In a.Files Response.Write(file.FileName & " (" & file.Size & "bytes)<BR>") Next Else Response.Write "THE JOB-FOLDER ALREADY EXISTS" End If 'this line destroys the instance of the File Scripting Object named myFSO End If SET FSO = NOTHING End if %>
13. februar 2004 - 15:20
#6
Det ser rigtigt ud. Men hvordan se din <form> ud ?
13. februar 2004 - 15:54
#7
<form action="./entry/create_job_brief.asp" name="job_brief" method="post" enctype="multipart/form-data">
13. februar 2004 - 16:23
#8
Hvilken fejl får du?
13. februar 2004 - 16:41
#9
ingen fejl, men den indsætter ingenting, opretter ingen mapper, uploader ingen filer. Helt blank side.. og customer_number bliver udfyldt!
13. februar 2004 - 16:44
#10
før blev min database i det mindste udfyldt!
13. februar 2004 - 16:44
#11
Ok :) Du er nød til at kalde .Upload før form collection bliver fyldt med data så efter: Set a = Server.CreateObject("aspSmartUpload.SmartUpload") Skal der laves et kald til .Upload: Set a = Server.CreateObject("aspSmartUpload.SmartUpload") a.Upload
14. februar 2004 - 19:13
#12
Tak for hjælpen begge. Smid lige nogle svar..
14. februar 2004 - 19:16
#13
Jamen ok, her et svar fra mig :)
14. februar 2004 - 19:30
#14
Tak, jeg samler ikke på point.
01. marts 2004 - 17:19
#15
Tak for hjælpen.. håber at du har sympati for erikjacobsens kommentar om at det ikke er så mange points værd?
Kurser inden for grundlæggende programmering