Hola a todos
A ver si alguien puede ayudarme, estoy haciendo un carrito de la compra.
Tengo una pagina con un form que recoge una serie de datos (nombre producto, talla , precio, etc) y los manda por GET a la pagina carrito donde tengo el siguinte codigo:
<?
$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 dentro del body para q se muestre el carrito dentro de una tabla tengo:
<?
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 no funciona nada, no se actualiza el carrito solo toma los ultimos valores, al vaciar tambien da error.
Y si compro el mismo producto 2 veces pero de distintas tallas me pone una vez el producto con cantidad 2 y solo guarda el valor de la ultima talla.
estoy hecha un lio
Alguien me puede ayudar?
muxas gracias