Subscript out of range error

I'm currently building a simple Ecommerce website and when going through the pages that collect the information I keep getting the following error:

Microsoft VBScript runtime  error '800a0009'
Subscript out of range: '[number: 7]'
/site/basket.asp, line 51

Below is the relevant code with line 51 marked, any help is much appreciated.
<%
' Define Constants
CONST CARTPID = 0
CONST CARTPQUANTITY = 1
CONST CARTPNAME = 2
CONST CARTPBOARD = 3
CONST CARTPCOLOUR = 4
CONST CARTPPRICE = 5
CONST CARTPFACE = 6
CONST CARTPREV = 7
 
' Get the Shopping Cart
IF NOT isArray( Session( "cart" ) ) THEN
	DIM localCart( 8,20 )
ELSE
	localCart = Session( "cart" )
END IF
 
' Get Product Information
productID = 		TRIM( Request( "pid" ) )
productQuantity = 	TRIM( Request( "cardQuantity" ) )
productName = 		TRIM( Request( "cardType" ) )
productBoard = 		TRIM( Request( "boardType" ) )
productColour = 	TRIM( Request( "spotColour" ) )
productPrice = 		TRIM( Request( "prodPrice" ) )
productFace =		TRIM( Request( "cardFace" ) )
productReverse =	TRIM( Request( "cardReverse" ) )
 
'Add product to cart
IF productID <> "" THEN
	foundIT = FALSE
	FOR i=0 TO UBOUND( localCart )
		IF localCart( CARTPID, i ) = productID THEN
			localCart( CARTPQUANTITY, i ) = localCart( CARTPQUANTITY, i )
			foundIT = TRUE
			EXIT FOR
		END IF
	NEXT
	IF NOT foundIT THEN
		FOR i = 0 TO UBOUND( localCart, 2 )
			IF localCart( CARTPID, i ) = "" THEN
				localCart( CARTPID, i ) = productID
				localCart( CARTPQUANTITY, i ) = productQuantity
				localCart( CARTPNAME, i ) = productName
				localCart( CARTPBOARD, i ) = productBoard
				localCart( CARTPCOLOUR, i ) = productColour
				localCart( CARTPPRICE, i ) = productPrice
				localCart( CARTPFACE, i ) = productFace
		*line 51*       localCart( CARTPREV, i ) = productReverse
				EXIT FOR
			END IF
		NEXT
	END IF
END IF
%>

Open in new window

LVL 1
dreamworks_studioAsked:
Who is Participating?
 
512ThzConnect With a Mentor Commented:
Oups...
IF Uboud(localCart, 1) < 7 Then
0
 
512ThzCommented:
Try the folowing

If it produce the mesage "The cart had the wrong dim"

It means that your cart was not dimensionned at 8 (but 7)
IF NOT isArray( Session( "cart" ) ) THEN
	DIM localCart( 8,20 )
ELSE
	localCart = Session( "cart" )
END IF
 
IF Uboud(localCart, 1) < 8 Thne
  REDIM  localCart( 8,20 )
  Response.Write("The cart had the wrong dimension!!!")
END IF
 
.... etc  ...

Open in new window

0
 
dreamworks_studioAuthor Commented:
I guess that means the cart had the wrong dimension! I was sure I'd set it right but still learning this so many thanks for your help!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.