Avatar billede monstermand Nybegynder
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

%>
Avatar billede erikjacobsen Ekspert
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.
Avatar billede monstermand Nybegynder
13. februar 2004 - 13:38 #2
pis mand! Det prøver jeg lige - jeg troede det var noget kæmpe!
Avatar billede monstermand Nybegynder
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")
Avatar billede monstermand Nybegynder
13. februar 2004 - 13:57 #4
ups, glem seneste spørgsmål
Avatar billede monstermand Nybegynder
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
%>
Avatar billede erikjacobsen Ekspert
13. februar 2004 - 15:20 #6
Det ser rigtigt ud. Men hvordan se din <form> ud ?
Avatar billede monstermand Nybegynder
13. februar 2004 - 15:54 #7
<form action="./entry/create_job_brief.asp" name="job_brief" method="post" enctype="multipart/form-data">
Avatar billede eagleeye Praktikant
13. februar 2004 - 16:23 #8
Hvilken fejl får du?
Avatar billede monstermand Nybegynder
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!
Avatar billede monstermand Nybegynder
13. februar 2004 - 16:44 #10
før blev min database i det mindste udfyldt!
Avatar billede eagleeye Praktikant
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
Avatar billede monstermand Nybegynder
14. februar 2004 - 19:13 #12
Tak for hjælpen begge. Smid lige nogle svar..
Avatar billede eagleeye Praktikant
14. februar 2004 - 19:16 #13
Jamen ok, her et svar fra mig :)
Avatar billede erikjacobsen Ekspert
14. februar 2004 - 19:30 #14
Tak, jeg samler ikke på point.
Avatar billede monstermand Nybegynder
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?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester