Ver Mensaje Individual
  #20 (permalink)  
Antiguo 05/10/2011, 14:16
tap
 
Fecha de Ingreso: mayo-2009
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: problemas con display_button

Tienes razón Triby, me pidió un array. Mira, los 5 primeros pasos me salían hasta ayer, es decir, entrar al index, escoger una categoría de libros, pulsar sobre uno de ellos y obtener los detalles del mismo (todo estos datos me lo levanta de la bd) y al pulsar sobre "Añadir al carrito", iba a otra página donde la información es más escueta pero tiene el precio y la cantidad que compré. A partir de allí, quedé frenada. No se me guardaba el libro añadido. Se me borraba y todo quedaba en cero.
Ahora, con los cambios que hice, sólo llego al paso 4. Ni siquiera llego a la página "checkout.php"... el código que tengo es este:

Código:
<? session_start();
  include('book_sc_fns.php');
  
  if($new)
	{
		if(!isset($_SESSION["cart"]))
		{
			//$cart= array();
			$_SESSION['cart'] = array();
			$_SESSION['items'] = 0;
			$_SESSION['total_price'] = 0.00;
		}
		 //con lo siguiente agregamos un art en el carrito
		if($cart[$new])
			$cart[$new]++;
		else
			$cart[$new] = 1;
			$total_price= calculate_price($cart);
			$items= calculate_items($cart);	
	}	
		//con lo siguiente lo guardamos
	if($save)
	{
		//echo '<pre>';
		//print_r($cart);
		//echo '<pre>';
		//foreach ($cart as $isbn =>$qty)
		{
			if($$isbn == "0")
				unset($cart[$isbn]);
			else
				$cart[$isbn] = $$isbn;
		}
		$total_price = calculate_price($cart);
		$items = calculate_items($cart);
	}
	do_html_header("Tu carrito de compras");	
	
	if($cart && array_count_values(array())) //aquí me pide un param array
		display_cart($cart);
	else
	 {
		echo "No hay articulos en tu carro";
		echo "<hr>";
	 }
	$target= "index.php";
	// si se ha agregado un libro, seguir comprando en la misma seccion
	if($new)
	 {
		$details= get_book_details($new);
		if($details['catid'])
			$target= "show_cat.php?catid=".$details['catid'];
	 }
	display_button($target, "continue-shopping", "Continuar comprando");
	$path = $PHP_SELF;
	$path = str_replace("show_cart.php", "", $path);
	display_button("http://".$SERVER_NAME.$path. "checkout.php", "ir-a-caja", "Ir a la caja");
	do_html_footer();
?>
Ya no tengo dificultades con el foreach, sino con el otro condicional:
Código:
if($cart && array_count_values(array()))
		display_cart($cart);
	else
	 {
		echo "No hay articulos en tu carro";
		echo "<hr>";
	 }
originalmente yo lo tenía así y lo sustituí con arra(), pero nada
Código:
 if($cart && array_count_values($cart))
alguna sugerencia? Realmente pido disculpas por ser tan insistente. Gracias desde ya.