Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2010, 14:32
VR46_8
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 9 meses
Puntos: 0
Class y session

Buenas a todos,

Tengo una duda tengo dos ficheros (test.php y cart.php) el test es la pagina normal y cart.php una clase, lo que quiero hacer es los siguiente:

Código PHP:
 <?php

class cart{

public 
$_SESSION;
function 
cart(){
    
session_start();
    
    
    if(!isset(
$_SESSION['cart'])){
    
$this->$_SESSION['cart'] = array();  // si esta vacia inicio la session en modo array
    
}
}

function 
add_item($id_item){
    
session_start();
    
    
    if(
$_SESSION['cart'][$id_item]['id'] == $id_item){ // si encuentra en la array la id autoincremento la cantidad
    
$_SESSION['cart'][$id_item]['quantity'] += 1;
    
    }else{
// si no esta la iniciamos
    
$_SESSION['cart'][$id_item]['id'] = $id_item;
    
$_SESSION['cart'][$id_item]['name'] = "ola";
    
$_SESSION['cart'][$id_item]['quantity'] = 1
            
    }
    return 
print_r($_SESSION['cart']);
}
}
?>
y el test.php

Código PHP:
session_start();
include_once(
'class/cart.php');
 
$cart = new cart(); 
$cart->add_item(250); 
Pues el problema esta en que la única manera que consigo introducir algo en la sesión es diciendo en el principio de la función (add_item) que la $_SESSION['cart'] = array(); pero claro esta me elimina todo lo que tenia en la sesión.

Sabe alguien como puedo hacer que no pierda los datos de la array.

Gracias.