Carrito de Compras con PHP5

tincho
18 de Junio del 2006
Hola a ver si alguien me puede ayudar:
Estoy queriendo armar un carrito simple, y el problema que tengo es que si uso un FORM no me conserva los valores del objeto. Paso los 2 archivos para que quede claro.

lib_carrito.php

class carrito
{
public $items;

public function agregar_item($id, $cant){
$this->items[$id] += $cant;
}

public function retirar_item($id, $cant) {
if ($this->items[$id] > $cant) {
$this->items[$id] -= $cant;
return true;
} elseif ($this->items[$id] == $cant) {
unset($this->items[$id]);
return true;
} else {
return false;
}
}

public function imprimir_carrito(){
foreach($this->items as $id => $cant){
echo $id . \' \' . $cant . \'<br>\';
}
}

}
?>

carrito.php

<?
session_start();
include(\'lib_carrito.php\');
$_SESSION[\'cart\'] = new carrito();

if ($_POST[\'ok\'] == 1)
$_SESSION[\'cart\']->agregar_item($_POST[\'id\'], $_POST[\'cant\']);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>
<h1 align="center">CARRITO</h1>
<p align="center">
<? $_SESSION[\'cart\']->imprimir_carrito(); ?>
</p>
<form id="form1" name="form1" method="post" action="">
ID:
<input name="id" type="text" id="id" />
CANTIDAD:
<input name="cant" type="text" id="cant" />
<input name="ok" type="hidden" value="1" />
<input type="submit" name="Submit" value="Agregar" />
</form>
<a href="ver.php">ver carrito</a>
</body>
</html>