Solved

Subscript out of range error

Posted on 2008-06-18
3
1,589 Views
Last Modified: 2012-05-05
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

0
Comment
Question by:dreamworks_studio
  • 2
3 Comments
 
LVL 4

Expert Comment

by:512Thz
ID: 21813912
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
 
LVL 4

Accepted Solution

by:
512Thz earned 500 total points
ID: 21813949
Oups...
IF Uboud(localCart, 1) < 7 Then
0
 
LVL 1

Author Closing Comment

by:dreamworks_studio
ID: 31468397
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

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

"In order to have an organized way for empathy mapping, we rely on a psychological model and trying to model it in a simple way, so we will split the board to three section for each persona and a scenario and try to see what those personas would Do,…
Developer portfolios can be a bit of an enigma—how do you present yourself to employers without burying them in lines of code?  A modern portfolio is more than just work samples, it’s also a statement of how you work.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

896 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now