Su ayuda me salvara mas dias de tortura.
Bien, hace poco que intento programar en PHP y he empezado a hacer un carrito de compras que tal vez muchos ya han visto debido a que viene de unos videotutoriales. La verdad me ha dado muchos problemas debido a que alli se trabaja con php4 y yo trabajo con php5.
El asunto es que cuando selecciono un libro para colocarlo en el carrito va bien pero cuando le doy al boton salvar cambios me sale este error:
Cita:
Aqui esta el codigo de mi archivo show_cart.phpWarning: Invalid argument supplied for foreach() in "C....show_cart.php" on line 30
Código php:
Ver original
<?php include ('book_sc_fns.php'); "arroba" $new=$_GET["new"]; $cart=$_SESSION["cart"]; if($new) { { $_SESSION["items"] = 0; $_SESSION["total_price"] = "0.00"; } if($cart[$new]) $cart[$new]++; else $cart[$new] = 1; $total_price = calculate_price($cart); $items = calculate_items($cart); } { foreach ($cart as $isbn => $qty) { if($$isbn=="0") else $cart[$isbn] = $$isbn; } $total_price = calculate_price($cart); $items = calculate_items($cart); } do_html_header("Tu carro de compra"); display_cart($cart); else { echo "<p>No hay artículos en tu carro"; echo "<hr>"; } $target = "index.php"; if($new) { $details = get_book_details($new); if($details["catid"]) $target = "show_cat.php?catid=".$details["catid"]; } // display_button($target, "continue-shopping", "Continue Shopping"); // $path = $_SERVER["PHP_SELF"]; // $path = str_replace("show_cart.php", "", $path); display_button(" ".$_SERVER["SERVER_NAME"].$path."checkout.php", "go-to-checkout", "Go To Checkout"); do_html_footer(); ?>
Aqui estan las funciones calculate_price y calculate_items
Código php:
Ver original
function get_book_details($isbn) { if (!$isbn || $isbn=="") return false; $conn = db_connect(); $query = "select * from books where isbn='$isbn'"; if (!$result) return false; return $result; } function calculate_price($cart) { $price = 0.0; { $conn = db_connect(); foreach($cart as $isbn => $qty) { $query = "select price from books where isbn='$isbn'"; if ($result) { $price +=$item_price*$qty; } } } return $price; } function calculate_items($cart) { $items = 0; { foreach($cart as $isbn => $qty) { $items += $qty; } } return $items; }
Me disculpan si existe redundancia alguna en el codigo puesto que estoy tratando de readaptarlo y en realidad no se mucho.
Les agradezco mucho su colaboracion...