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.