Código :
<?php session_start(); include_once("book_fns.php"); if ($_GET['new']){ //nos fijamos que esten agregando un nuevo elemento al carrito if(!isset($_SESSION['cart'])){//nos fijamos si no esta iniciada la session y si no lo esta creamos una nueva $cart = array(); $_SESSION['shopping_cart'] = $cart; $items = 0; $_SESSION['items']; $total_price = "0.00"; $_SESSION['total_price']; } echo $cart["key"]; echo $cart[$_GET['new']]; if ($cart[$_GET['new']]){//nos fijamos si ya tiene este articulo en el carro y si es true se lo sumamos y sino solo le agregamos la nueva cantidad $cart[$_GET['new']] = $cart[$_GET['new']] + $_POST['items_qty']; }else{ $cart[$_GET['new']] = $_POST['items_qty']; } //foreach($cart as $numero){ // echo $numero; //} //ahora vamos a calcular la cantidad de items y el precio total de sus compras $items = calculate_items($cart); $total_price = calculate_total_price($cart); } do_html_header("Te encuentras en tu carrito de compras"); do_html_menu(); if($cart && array_count_values($cart)){ //$products_array = get_products(); //display_shopping_cart($cart); }else{ echo "No hay artículos en tu carro"; } do_html_footer(); ?>
new es el id del producto que estan agregando al carrito, todo me anda de maravilla me crea la session, me suma los itemy me calcula su precio etc.
el problema esta en cuando salgo de la pagina y vuelvo a insertarle al mismo productos otra cierta cantidad de compras para agregar, este no me lo suma sino que me agrega este valor como nuevo.
estube revisando todas las variables y lo que pasa es que el array cart cuando vuelvo a esta pagina esta vacio es decir no contiene el id ni la cantidad anterior que se le habia agregado. entonces ahi es donde me pierdo porque no entiendo que debo hacer para que no se me pierda si ya estaria agregada a la session y deberia guardarse en el cache.
espero que me puedan ayudar
Saludos