Foros del Web » Programando para Internet » PHP »

SOS carrito de la compra

Estas en el tema de SOS carrito de la compra en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 31/03/2006, 11:12
 
Fecha de Ingreso: marzo-2006
Mensajes: 14
Antigüedad: 18 años
Puntos: 0
SOS carrito de la compra

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
  #2 (permalink)  
Antiguo 31/03/2006, 17:01
Avatar de erichfrom  
Fecha de Ingreso: octubre-2004
Mensajes: 148
Antigüedad: 19 años, 5 meses
Puntos: 1
Hola, tal vez sea porque debes poner en ambos documentos
session_start();
al principio y antes que cualquier otra cosa

<?php session_start();


?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:55.