Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2004, 15:04
Avatar de midpunto
midpunto
 
Fecha de Ingreso: enero-2004
Ubicación: España Palma de mallorca
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
carrito de pedidos terminado con un solo problema

Hola...

Bueno a partir de algunos ejemplos pude terminar un carrito de pedidos pero tiene un problema a la hora de borrar un articulo seleccionado aqui dejo el codigo por si alguien me puede ayudar:

tengo tre paginas:
la primera es la que me pinta todos los productos para que pueda seleccionar cualquiera de ellos mediante un boton dentro de un pequeño form que es el que envia las variables del articulo seleccionado a la pagina del carrito .

la segunda es el carrito de compra y es asi:

<?php
session_start();
session_register('itemsEnCesta');
$_POST['cantidad'];
$_POST['pvp'];
$_POST['code'];
$_POST['subfamilia'];
$itemsEnCesta=$_SESSION['itemsEnCesta'];
if ($item){
if (!isset($itemsEnCesta)){
$itemsEnCesta[$item]=$cantidad;
}else{
foreach($itemsEnCesta as $k => $v){
if ($item==$k){
$itemsEnCesta[$k]+=$cantidad;
$encontrado=1;
}
}
if (!$encontrado) $itemsEnCesta[$item]=$cantidad;
}
}
$_SESSION['itemsEnCesta']=$itemsEnCesta;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Pedido de Articulos...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<tt>
<?
if (isset($itemsEnCesta)){
echo'El contenido de este pedido es:<br>';
foreach($itemsEnCesta as $k => $v){
echo 'Artículo: '.$k.' ud: '.$v.' Tipo: '.$subfamilia.' PVP x Unidad: '.$pvp.' <a href="borrar_podu.php?id='.$k.'&PHPSESSID='.$SID.' ">Borrar</a><BR>';
}
}
else{
echo "no tiene articulos seleccionados";
}
?>
</tt>
</body>
</html>

................................
esta pagina hace una comprovación y es aqui donde esta el problema, cuando el carrito no tiene articulos el script deveria ir hasta el ultimo else y en la pagina deveria aparecer :

echo "no tiene articulos seleccionados";

sin enbargo aunque no tenga articulos se queda despues del if y me pinta esto :

echo'El contenido de este pedido es:<br>';
y a continuacion nada por que el carro esta vacio.

y esta es la tercer pagina que es la que se encarga del borrado de un articulo

<?
session_register('itemsEnCesta');
unset ($HTTP_SESSION_VARS['itemsEnCesta'][$id]);
echo ("el producto $id ha sido eliminado de la cesta<BR>");
echo '<a href="agregar_prod.php?itemsEnCesta='.$itemsEnCest a.'">ver carrito</a>';
?>


El error lo comete despues de borrar es como si no me conservara la variable de sesion sin envargo si tengo dos articulos en el carrito y borro uno al volver me muestra perfectamente el articulo que todavia tengo en el carrito osea el que quedo.


Gracias de antemano y espero que me puedan ayudar.

saludos.