---
title: "Array problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/148508-array-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "golgata"
published: "2006-06-28T15:48:03.000Z"
updated: "2006-07-05T07:12:02.000Z"
replies: 11
views: 527
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/148508-array-problem"
---

# Array problem

## #1 — golgata, 2006-06-28T15:48Z

Har följande kod för att spara varor i en kundvagn. Här sparas id och antal i arrayn. Nu vill jag även lägga till storlek och splita upp den rätt så att den kommer med i arrayn. Den hämtas från lägg till vara med Request("storlek") 
Men hur lägger jag till det här så att det blir rätt.

Lägger jag till  MyArray(2,x) = hamta2(2) så får jag felmeddelande 
Subscript out of range

Vad är felet?

```
 
<%

Response.Cookies(Session.SessionID)(Request("id")) = Request("antal")
Response.Cookies(Session.SessionID).Expires = DateAdd("h", 2, now)
nyprod = Request("antal") & "st <b>"  & Request("namn") & "</b> á "
priset = Request("pris")
nyprod = nyprod & priset & " kr"
nyprod = nyprod & "<br>Har lagts i din kundvagn"
Session("nyprod") = nyprod
Response.Redirect Request.ServerVariables("HTTP_REFERER")

varde = Request.Cookies(""& Session.SessionID &"") 
Response.Write varde & "<br><br>"
hamta = Split(varde,"&")
ReDim MyArray(4,Ubound(hamta))
for x = 0 to ubound(hamta)
hamta2 = Split(hamta(x),"=")
MyArray(0,x) = hamta2(0)
MyArray(1,x) = hamta2(1)

Response.Write "id: " & hamta2(0) & "<br>"
Response.Write "antal: " & hamta2(1) & "<br>"
	response.write hamta(x) & "<br><br>" 
next
For i = 0 To Ubound(myArray,2)
   Response.write myArray(0,i)
   Response.Write myArray(1,i)
Next
%>
```

Permalänk: https://www.webforum.nu/p/148508

## #2 — emission, 2006-06-28T19:06Z

1\. Varför lagra något i cookies som ändå är knutet till Session?

2\. hamta2(2) förutsätter att Split(hamta(x),"=") returnerar minst 3 element. Innehåller strängen verkligen 2 likamedtecken?

Permalänk: https://www.webforum.nu/p/1835493

## #3 — golgata, 2006-06-28T19:25Z

Nej problemet är att jag inte får in ett andra = tecken. lägger jag till det så blir det %D3
Fattar inte hur jag ska göra för att få in storlek i arrayn. Något tips?
lägger jag till Request("storlek") efter  Response.Cookies(Session.SessionID)(Request("id")) = Request("antal") så tilldeles 
MyArray(1,x) = hamta2(1) hela värdet. Hur gör jag för att dela MyArray(1,x) = hamta2(1)
värde=102 till 
MyArray(1,x) = hamta2(1)      =1
MyArray(2,x) = hamta2(2)      =02

Permalänk: https://www.webforum.nu/p/1835497

## #4 — J.N., 2006-06-29T08:37Z

HEJ!

Låter konstigt att ett likamedtecken kodas med %D3?
Testa med något annat tecken, och se om problemet kvarstår.

Permalänk: https://www.webforum.nu/p/1835602

## #5 — golgata, 2006-06-29T11:19Z

om jag sätter ett annat tecken så kan det bli %D2

Hur splitar jag upp hamta2(1) så att första siffran blir hamta2(1) och de 2 övriga blir hamta2(2) ?

Permalänk: https://www.webforum.nu/p/1835634

## #6 — J.N., 2006-06-30T12:10Z

Om du kan få = till att altlid bli %D3 på andra positionen, kan du ju splita som vanligt, och sätta ihop arr(1) och arr(2), och köra replace till =.

Men, det är ju ingen säker väg, och då får du nog använda Left, och hämta det antal tecken som InStr ger till likamedstecknet.

<http://www.devguru.com/Technologies/vbscript/quickref/Left.html>
<http://www.devguru.com/Technologies/vbscript/quickref/InStr.html>

Permalänk: https://www.webforum.nu/p/1835870

## #7 — golgata, 2006-06-30T15:53Z

Nu har jag delat upp så att allt ser rätt ut .
Kod:

test = left(varde,2)
test1 = mid(varde,4,1)
test2 = right(varde,5)

Hur får jag in det i följande så att det passar övrig kod.
Kod:

ReDim MyArray(4,Ubound(hamta))
for x = 0 to ubound(hamta)

MyArray(0,x) = hamta2(0)
MyArray(1,x) = hamta2(1)
MyArray(2,x) = hamta2(2)

Permalänk: https://www.webforum.nu/p/1835920

## #8 — J.N., 2006-07-03T12:03Z

Räcker det inte med att sätta
MyArray(0,x) = test
MyArray(1,x) = test2
MyArray(2,x) = test3

Eller det är ReDim:en du tänker på?

Permalänk: https://www.webforum.nu/p/1836385

## #9 — golgata, 2006-07-03T16:40Z

Det är reDim jag tänker på.

Permalänk: https://www.webforum.nu/p/1836473

## #10 — J.N., 2006-07-04T07:22Z

Okej. Har själv använt ReDim för att krympa arrayer för länge sedan. Var svårt att förstå och få rätt på.

Men, fungerar det inte utan, dvs behöves den?
Varför finns den med, helt enkelt?

Posta gärna den kod du fått till nu, så vi vet vad vi håller på med.

Permalänk: https://www.webforum.nu/p/1836671

## #11 — golgata, 2006-07-04T17:20Z

här kommer hela koden. Vad jag förstår så måste den vara med för allt annat script ska fungera. Här är säkert någon kod som inte behövs men jag har testat så mycket nu så jag vet knappt ut eller in.

```
<%

Response.Cookies(Session.SessionID)(Request("id")) = Request("antal") & Request("storlek")
Response.Cookies(Session.SessionID).Expires = DateAdd("h", 2, now)
nyprod = Request("antal") & "st <b>"  & Request("namn") & "</b> á "
priset = Request("pris")
nyprod = nyprod & priset & " kr"
nyprod = nyprod & "<br>Har lagts i din kundvagn"
Session("nyprod") = nyprod
'Response.Redirect Request.ServerVariables("HTTP_REFERER")

varde = Request.Cookies(""& Session.SessionID &"") 
hamta = left(varde,2)
hamta1 = mid(varde,4,1)
hamta2 = right(varde,5)
response.write "id " & hamta & "<br>"
response.write "antal " & hamta1 & "<br>"
response.write "storlek " & hamta2 & "<br><br>"

test1 = (hamta &"="& hamta1 &","& hamta2)
hamta6 = Split(test1,",")
response.write test1 & "<br>"

ReDim MyArray(1,Ubound(hamta6))
for x = 0 to ubound(hamta6)
hamta7 = Split(hamta6(x),"=")

MyArray(0,x) = hamta7(0)
MyArray(1,x) = hamta7(1)
MyArray(2,x) = hamta7(2)

next
For i = 0 To Array,2
Response.write Array(0,x)
Response.Write myArray(1,i)
Response.Write myArray(2,i)
Next
For i = 0 To Ubound(myArray,2)
   Response.write myArray(0,i)
   Response.Write myArray(1,i)
   Response.Write myArray(2,i)
   Next
%>
```

Permalänk: https://www.webforum.nu/p/1836814

## #12 — J.N., 2006-07-05T07:12Z

Okej.

För att detta ska gå lösa måste du också berätta varför du har koden.

Har väldigt svårt för att förstå vad koden ska göra, och varför ReDim behövs överhuvudtaget. Eftersom jag inte hållt på med kundvagnar kan jag inte säga om du gör ett generellt fel, eller om du är på rätt spår.

Permalänk: https://www.webforum.nu/p/1836987

---

Tråden på webben: https://www.webforum.nu/amne/asp/148508-array-problem
