On Sun, 2005-10-02 at 01:01, Robert Cummings wrote: > > If you go with an array system might I suggest the following change to > what I wrote: I'm resending a better way to do the simple trolley since you seemed to have created a Frankensteinian merge of the two examples I sent previously. This version uses functions which should probably be put into their own source file and included (let's call it lib.trolley.php). <?php session_name( 'CCLTrolley' ); session_start(); // // Initialize the trolley. // if( !isset( $_SESSION['TrolleyContents'] ) ) { $_SESSION['TrolleyContents'] = array(); } function trolleyItemQuantity( $itemId ) { $trolley = &$_SESSION['TrolleyContents']; // // Return the $quantity of $item in the $trolley. // if( isset( $trolley[$item] ) ) { return $trolley[$item]; } return 0; } function trolleyItemExists( $itemId, $quantity ) { $trolley = &$_SESSION['TrolleyContents']; // // Return true if $item is in the $trolley; otherwise return false. // if( isset( $trolley[$item] ) ) { return $trolley[$item]; } return 0; } function trolleyItemAdd( $itemId, $quantity ) { $trolley = &$_SESSION['TrolleyContents']; // // Add $quantity of $item to the $trolley. // if( isset( $trolley[$item] ) ) { $trolley[$item] += $quantity; } else { $trolley[$item] = $quantity; } } function trolleyItemRemove( $itemId, $quantity ) { $trolley = &$_SESSION['TrolleyContents']; // // Remove $quantity of $item from the $trolley. // if( isset( $trolley[$item] ) ) { $trolley[$item] -= $quantity; if( $trolley[$item] < 1 ) { unset( $trolley[$item] ); } } } function trolleyPrint() { // // Display the trolley. // echo "<pre>\n" .implode( ',', array_keys( $_SESSION['TrolleyContents'] ) ) ."\n</pre>\n"; } ?> Now the following would facilitate the action you appear to be performing in your example for adding to the trolley: <?php include_once( 'lib.trolley.php' ); if( isset( $_POST['ShopAction'] ) && isset( $_POST['RNum'] ) ) { echo $_POST['ShopAction'].'!!<br />'; if( 'add' == $_POST['ShopAction'] ) { echo 'Adding '.$_POST['RNum'].'...<br />'; trolleyItemAdd( $_POST['RNum'], 1 ); } else if( 'delete' == $_POST['ShopAction'] ) { echo 'Deleting '.$_POST['RNum'].'...<br />'; trolleyItemRemove( $_POST['RNum'], 1 ); } } else { echo 'No action specified!!<br />'; } trolleyPrint(); ?> -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php