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