Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2007, 17:37
Avatar de ZydRick
ZydRick
 
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 20 años
Puntos: 4
Duda con carro de compra

Hola amigos, estoy implementando un carrito de compras y tengo un problema, tomé como muestra el ejemplo de webestilo.com y he tratado de adaptarlo al sistema que estoy creando, los scripts son los siguientes:

Código PHP:
// Este es el formulario que envía los datos a un script llamado carrito.php
// antes del form está la consulta que muestra los productos
<form action="carrito.php" method="post">
    <input type="hidden" name="idprod" value="<?=$idprod?>" />
    <input type="hidden" name="nomart" value="<?=$nomart?>" />
    <input type="hidden" name="marca" value="<?=$marca?>" />
    <input type="hidden" name="precio" value="<?=$precio?>" />
    <input type="text" name="cantidad" style="width: 60px; text-align: right;" /> <input type="submit" value="Agregar" />
</form>
Este es el script que recoge los datos y los guarda en una sesión

Código PHP:
<?php
    session_start
();
    
session_register('itemsEnCesta');
    
$idprd $_POST['idprod'];
    
$nomart $_POST['nomart'];
    
$marca $_POST['marca'];
    
$precio $_POST['precio'];
    
$cantidad $_POST['cantidad'];
    
    
$itemsEnCesta $_SESSION['itemsEnCesta'];
    
    if(
$item) {
        if(!isset(
$itemsEnCesta)) {
            
$itemsEnCesta[$item][idprd] = $idprod;
            
$itemsEnCesta[$item][nomart] = $nomart;
            
$itemsEnCesta[$item][marca] = $marca;
            
$itemsEnCesta[$item][precio] = $precio;
            
$itemsEnCesta[$item][cantidad] = $cantidad;
        }else{
            foreach(
$itemsEnCesta as $k => $v) {
                if (
$item==$k) {
                    
$itemsEnCesta[$k][cantidad]+=$cantidad;
                    
$encontrado=1;
                }
            }
            if(!
$encontrado) {
                
$itemsEnCesta[$item][idprd] = $idprod;
                
$itemsEnCesta[$item][nomart] = $nomart;
                
$itemsEnCesta[$item][marca] = $marca;
                
$itemsEnCesta[$item][precio] = $precio;
                
$itemsEnCesta[$item][cantidad] = $cantidad;
            }
        }
    }
    
$_SESSION['itemsEnCesta'] = $itemsEnCesta;
    
    
// muestro aquí el nombre del producto y la cantidad ingresada
    
if(isset($itemsEnCesta)) {
        echo
'El contenido de la cesta de la compra es:<br />';
        foreach(
$itemsEnCesta as $k => $v) {
            echo 
'Artículo: '.$k.' ud: '.$v.'<br />';
        }
    }
?>
El problema está en que al enviar los datos desde el formulario el script carrito.php no me muestra ningún resultado, no sé donde puede estar la falla, espero que alguno de ustedes me pueda echar una mano. Gracias de antemano.

Saludos

Última edición por ZydRick; 06/06/2007 a las 16:10