Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/10/2011, 10:46
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: variables de sesion

Esta mal la forma en la que quieres mostrar los items existentes en la sesión...

Hay un cambio en el código:

Código PHP:
Ver original
  1. <?php // Manual de PHP de WebEstilo.com
  2.  
  3. //Session register esta obsoleto a partir de PHP 5.3.x se desaconseja usarlo!!!
  4. //session_register('itemsEnCesta');
  5.  
  6. //Sacamos $ItemsEnCesta del if para tener acceso a el aunque no se envie el formulario
  7. $itemsEnCesta=$_SESSION['itemsEnCesta'];
  8.  
  9. if (isset($_POST['item'])){
  10.     $item=$_POST['item'];
  11.     $cantidad=$_POST['cantidad'];
  12.     $precio=$_POST['precio'];
  13.  
  14.    if (empty($itemsEnCesta)){
  15.        //Aquí guardamos el item, pero en vez de indicar como valor la cantidad indicamos un array
  16.        //con los valores "cantidad" y "precio"
  17.       $itemsEnCesta[$item]=array(
  18.           'cantidad'=>$cantidad,
  19.           'precio'=>$precio
  20.       );
  21.  
  22.    }else{
  23.        
  24.       //obtenemos el item
  25.       $searchItem = $itemsEnCesta[$item];
  26.  
  27.       //verificamos si existe o no el item en el carrito
  28.       if (empty($searchItem)) {
  29.           //si no existe agregamos el item con la cantidad y su precio
  30.           $itemsEnCesta[$item] = array(
  31.               'cantidad'=>$cantidad,
  32.               'precio'=>$precio
  33.           );
  34.       }else {
  35.           //si existe el item solo aumentamos la cantidad
  36.           $itemsEnCesta[$item]['cantidad'] += $cantidad;
  37.       }
  38.    }
  39.  
  40.    //guardamos los cambios en la sesión
  41.    $_SESSION['itemsEnCesta']=$itemsEnCesta;
  42. }

Ahora mostramos los items

Código PHP:
Ver original
  1. foreach($itemsEnCesta as $item => $info) {
  2.       echo 'Item: '.$item.' - precio: '. $info['precio'] .' - cantidad: '. $info['cantidad'];
  3. }

Nota: Te sugiero que busques información sobre arrays y leas la documentación
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)