Hey Vicki: On Wed, Jun 26, 2002 at 11:01:31AM -0400, Vicki wrote:
> I'm checking the cart structure by printing the following code inserted > right after the "if($save);" > line (is this the best way to check on the contents of an array?) > > while (list($key,$value) = each($cart)) > { > print "Cart = $key: $value<BR>"; > } > > This returns "article ID number (an integer) : 1" when new > and "article ID : yes" after the save button has been clicked. Excellent debugging idea, Vicki! But, you're not showing us what was litterally produced by that output. Please copy and paste _exactly_ what comes from that. Also, I want to make sure I understand how this process is working. Correct me where I'm wrong. We're talking about a checkout page, to which people come after they've browsed around and selected what they want. This page lists the things the person wants and has a box folks can un-check if they don't want a given item. Then, the user submits the final request back to this same page. But, since the process has been submitted for final processing, the "if ($save)" statement evaluates to true... Man, you know what, I'm looking at this cart script and I really don't like how it works... I'd put everything about an item into a multidimensional cart array, as I mentioned yesterday, where the article ID is the first key and then the "field" (such as 'quantity,' 'wordcount,' 'cost,' etc) is the second key... plus, the code is really ugly... and the code looks easily susceptible to url tweaking vulnerabilities, like what crazyness would happen if someone sets both the $new and $save variables, DUH... so, if anyone asks for recommendations of a good programming book, keep them away from Welling and Thomson... but, anyway, where was I... the final processing happens when the "if ($save)" statement comes back as true. Have I got it straight, here? If so, please put your debugging loop at the top and bottom of the confirmation/submission script (so we can see what the raw and final data are). Then, put two or three items in the cart, and go to the confirmation page. Show us the output of the loops, PLUS the HTML form (not your code that renders the HTML) that comes back to your browser when you're looking at the confirmation page. THEN, go and submit the page and transmit the results of the loops. > else > $cart[$artID] = $$artID; > > I thought it was odd too, and since this is acquired code, I can't > explain it. I assumed that it > just resets the artID to its original value. Now that I think about it, that line makes (some kind of) sense. It's assigning the value of your checkbox "true," to the cart array element numbered $artID. Silly, but, hey, this whole program is. --Dan -- PHP classes that make web design easier SQL Solution | Layout Solution | Form Solution sqlsolution.info | layoutsolution.info | formsolution.info T H E A N A L Y S I S A N D S O L U T I O N S C O M P A N Y 4015 7 Av #4AJ, Brooklyn NY v: 718-854-0335 f: 718-854-0409 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php