Solved

Subscript out of range error

Posted on 2008-06-18
3
1,588 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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
Read about why website design really matters in today's demanding market.
Viewers will get an overview of the benefits and risks of using Bitcoin to accept payments. What Bitcoin is: Legality: Risks: Benefits: Which businesses are best suited?: Other things you should know: How to get started:
The viewer will learn how to count occurrences of each item in an array.

759 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

19 Experts available now in Live!

Get 1:1 Help Now