Avatar billede kcdk Juniormester
10. december 2003 - 00:33 Der er 25 kommentarer og
1 løsning

Overføring af variabler fra forms

Jeg er igang med et projekt (Kan desværre ikke vise koden) og jeg har nogle sider med en masse inputfelter. Disse vil jeg gerne have lagt i en database. Nu er det sådan at jeg har 4 sider hvor der er forskellige inputfelter og de må først lægges i DB til sidst på den sidste side. Derfor skal de gammes kortvarigt inden. Hvordan gør jeg det nemmest?
Avatar billede thesurfer Nybegynder
10. december 2003 - 00:37 #1
du kunne smide dem i en array:
dim strForm, arrForm, i
arrForm = ""
for each item in request.form
strForm = request.form(item) & "*"
next

senere kan du så bruger noget der ligner:
arrForm = split(strForm, "*")
for i = LBound(arrForm) to UBound(arrForm) -1
response.write arrForm(i)
next
Avatar billede kcdk Juniormester
10. december 2003 - 00:38 #2
Okay, det virker lidt uoverskueligt for mig
Avatar billede thesurfer Nybegynder
10. december 2003 - 00:38 #3
rettelse:
strForm = ""
arrForm = ""
Avatar billede thesurfer Nybegynder
10. december 2003 - 00:38 #4
Avatar billede thesurfer Nybegynder
10. december 2003 - 00:39 #5
..jeg er ikke sikker på "-1"..
Avatar billede kcdk Juniormester
10. december 2003 - 00:41 #6
Okay, men skal listen laves på den første side?
Avatar billede thesurfer Nybegynder
10. december 2003 - 00:42 #7
jeg ved dog ikke om man dynamisk kan smide dem ind en variabler.. men på den anden side, hvis du bruger for-next, bliver du vel nød til at bruge arrays..

--
for each item in request.form
strForm = request.form(item) & "*"
next
--

Denne kode tager indholdet af alle felterne i formen der submittes, og lægger dem ind i strForm, efterfulgt af splitter tegnet "*".. "*" bruges til at splitte arrayen op igen.. du kan bruge et hvilken som helst tegn.. bare et tegn der ikke kan bruges i felterne, så det ikke forvirrer splitteren..
Avatar billede thesurfer Nybegynder
10. december 2003 - 00:43 #8
du har din form.. f.eks.:
<form name="test" action="side.asp" method="post">
<input type="text" name="felt4565rd">
<input type="text" name="chewbacca">
osv..
</form>

"side.asp" indeholder så koden med for-next og arrayen..
Avatar billede kcdk Juniormester
10. december 2003 - 01:41 #9
for each item in request.form
strForm = request.form(item) & "*"
next

Med ovenstående brokker den sig med Type Mismatch
Avatar billede kcdk Juniormester
10. december 2003 - 01:47 #10
Nu virker det bedre, men den kommer kun en værdi og ikke alle felter:

Første side før nogle af felterne:
dim strForm, arrForm, i
strForm = ""
arrForm = ""

Anden side:
for each item in request.form
strForm = request.form(item) & "¤"
next
Avatar billede thesurfer Nybegynder
10. december 2003 - 01:54 #11
min fejl..
strForm = strForm & request.form(item) & "*"
Avatar billede kcdk Juniormester
10. december 2003 - 02:00 #12
Tak for det

Skal jeg ikke så bare sætte dette ind på det næste sider så de bare bliver sat i enden af arrayet

for each item in request.form
strForm = strForm & request.form(item) & "¤"
next

Jeg kan dog ikke få det til at virke
Avatar billede kcdk Juniormester
10. december 2003 - 02:06 #13
Det er lidt ligesomom den glemmer de forige sider
Avatar billede thesurfer Nybegynder
10. december 2003 - 02:08 #14
Det gør den sådan set også.. strForm eksisterer kun på den side der har koden..

Hvad er det lige du prøver på?

Jeg troede at du havde 4 sider med forms, og skulle gemme dem 1 form adgangen..
Prøver du på at gemme dem alle på 1 gang?
Avatar billede kcdk Juniormester
10. december 2003 - 02:11 #15
Jeg har side1. Den gemmer jeg i arrayet. Dernæst vil jeg gerne have side 2 tilføjet i arrayet og derefter side 3 osv.

Det skal være såden, at jeg ikke smider noget i DB før at alle oplysninger er indtastet
Avatar billede thesurfer Nybegynder
10. december 2003 - 02:14 #16
ahh... :)

hmm.. så kan du gemme strengen i en session..
Session: http://www.html.dk/tutorials/asp/lektion12.asp

Jeg tænker lige lidt og vender tilbage :) ..
Avatar billede kcdk Juniormester
10. december 2003 - 02:16 #17
Tak for det

Jeg har har kigget lektion12 igennem, men synes ikke der er ret meget jeg kan bruge.

Kan sagtens oprette den, men ved ikke hvordan jeg så skal bruge den.
Avatar billede thesurfer Nybegynder
10. december 2003 - 02:19 #18
Du opretter 4 sessions.. en for hver form..
Hvis formene SKAL indtastes i rækkefølgen 1, 2, 3 og 4, an du nøjes med 1 session, ved at gemme den første strForm, og derefter split-tegn, og strForm 2..
dvs du laver en array inde i en array..
Avatar billede kcdk Juniormester
10. december 2003 - 02:23 #19
Alle felter SKAL udfyldes, men hvorfor skal den splittes før jeg kan tilføje mere, så kan jeg vel ikke trække enkelte felter ud
Avatar billede thesurfer Nybegynder
10. december 2003 - 02:27 #20
Det du kan gøre at få det til at ske automatisk.. det bliver svært at hente enkelte felter ud..

Kan felterne udfyldes i vilkårlig rækkefølge eller skal det være 1-4?

Jeg synes at hver gang jeg finder på en mulig løsning, finder du på noget der gøre det hele sværer :)
Avatar billede kcdk Juniormester
10. december 2003 - 02:28 #21
Det SKAL gøres 1234.

Du har da sikkert ikke andet at lave :-)
Avatar billede thesurfer Nybegynder
10. december 2003 - 02:32 #22
hæhæhæ :)

Den nemme løsning ville nok være at bruge 4 sessions..
Men jeg tror at du skal have et felt der er "checkpoint", så koden kan inde ud af om, den skal smide strengen i session 1, 2, 3 eller 4..

det kan være et felt der hedder "felt" og har værdien "1"..
i koden skal du så checke værdien med request.form("felt")..
Avatar billede kcdk Juniormester
10. december 2003 - 02:34 #23
Tak for hjælpen. Det må jeg kigge på efter lidt søvn.

Svar lige så du kan få nogle point. Dem har du vist fortjent :)
Avatar billede thesurfer Nybegynder
10. december 2003 - 02:38 #24
Problemet er jo ikke løst endnu..? ..måske langt fra..

Jeg lægger et svar nu, men du behøver ikke at acceptere endnu..

Jeg kigger på det igen i morgen.
Avatar billede kcdk Juniormester
10. december 2003 - 02:39 #25
Okay, men du har hvertfald fortjent de små 30 jeg har lovet, så må vi se hvad du optjener i morgen :-)
Avatar billede thesurfer Nybegynder
10. december 2003 - 02:50 #26
:-)
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