Problemas con carrito

ELENA
31 de Marzo del 2006
Alguien puede ayudarme?
tengo un formulario que manda por GET las caracteristicas de un producto a la página carrito, donde se añade ese producto al carrito.
El codigo q uso es el siguiente, pero no funciona nada

<?
$carrito=array();
$total = "";
session_start();
extract($_REQUEST);//convierte todos los S_GET en el $ correspondiente

if(isset($_GET["vaciar"])==TRUE){ //vacia el carrito si pincho en el enlace borrar
session_unset($carrito);}
// comprobamos si existe una variable sesion y si existe actualozamos la vble local con el contenido q tiene
if (isset($_SESSION["carrito"])==TRUE)
{
$carrito=$_SESSION["carrito"];
}
//leo la vble q pasamos como parametro q contiene al elto
if(isset($_GET["Idproducto"])==TRUE){
$id=$_GET["Idproducto"];
if(isset($carrito[$id])==TRUE)
{
$carrito[$id] =$carrito[$id]+1;
}
else
{
$carrito[$id]=1;

}
}
if(isset($_GET["borrar"])==TRUE){
$borrar=$_GET["borrar"];
unset ($carrito[$borrar]);
} //cerramos el if del get

$_SESSION["carrito"]=$carrito; // actualizacion

?>


Y luego en el body para mostrar el carrito:
<?
while(list($clave,$valor)=each($carrito))
{
$total=($precio*$valor)+$total ;



?>
<tr>
<td><? echo $Idproducto;?></td>
<td><? echo $NombreProducto?></td>
<td><? echo $talla;?></td>
<td><? echo $valor;?></td>

<td><a href="carrito.php?borrar=<? echo $clave; ?>">Borrar</a></td>
<td><? echo $precio;?></td>
</tr>

<?
}//cierro el while


?>
<tr>
<td colspan="5"><b>Importe total</b></td>
<td><?

echo $total; ?></td>
</tr>

Pero el carrito no se actualiza correctamente, y al vaciar carrito tambien me da error.

Alguien me puede echar un cable?