El carrito de compras tiene 3 paginas diferentes.
agregar.php //Es donde se escoge el producto, costo y cantidad
consultar.php //Muestra los productos escogidos
vaciar.php //Vacia el carrito de compras
Este script no necesita de Mysql.
Muestra el resultado como una factura teniendo en cuenta la cantidad, valor unitario y nombre de cada producto. Tambien muestra el total y la cantidad total de todos los productos
agregar.php
Código:
<?php
//iniciar las cookies con un registro
session_start();
//toma los datos del formulario
$item=$_POST['item'];
$cantidad=$_POST['cantidad'];
$costo=$_POST['costo'];
//inicia la sesion itemsEnCesta
$itemsEnCesta=$_SESSION['itemsEnCesta'];
$itemsEnCestaCosto=$_SESSION['itemsEnCestaCosto'];
if ($item){ //comprueba si se a agregado un producto
if (!isset($itemsEnCesta)){ //comprueba si se ha iniciado sesion
$itemsEnCesta[$item]=$cantidad; //guarda la cantidad en el array ejemplo: $itemsEnCesta[bolso blanco]=20
$itemsEnCestaCosto[$item]=$costo;
}
else{
foreach($itemsEnCesta as $k => $v){
if ($item==$k){
$itemsEnCesta[$k]+=$cantidad;
$itemsEnCestaCosto[$k]+=$costo;
$encontrado=1;
}
}
if (!$encontrado) $itemsEnCesta[$item]=$cantidad; $itemsEnCestaCosto[$item]=$costo;
}
}
//actualiza la sesion con los datos agregados
$_SESSION['itemsEnCesta']=$itemsEnCesta;
$_SESSION['itemsEnCestaCosto']=$itemsEnCestaCosto;
?>
<html>
<body>
<tt>
<form action="<?php
//Esto borra la direccion en el navegador luego de coger las variables.
$PHP_SELF."?".$SID
?>" method="post">
Dime el producto <input type="text" name="item" size="20"><br>
Cuantas unidades <input type="text" name="cantidad" size="20"><br>
Costo <input type="text" name="costo" size="20"><br>
<input type="submit" value="Añadir a la cesta"><br>
</form>
</tt><br>
<br>
</body>
</html>
consultar.php
Código:
<?php
session_start();
$itemsEnCesta=$_SESSION['itemsEnCesta'];
$itemsEnCestaCosto=$_SESSION['itemsEnCestaCosto'];
?>
<table width="36%" border="0">
<tr bgcolor="#CCCCCC">
<td width="13%"><div align="center">Cantidad</div></td>
<td width="42%"><div align="center">Producto</div></td>
<td width="25%"><div align="center">Vr Unitario </div></td>
<td width="20%"><div align="center">Vr Total </div></td>
</tr>
<?php
if (isset($itemsEnCesta)){
echo'El contenido de la cesta de la compra es:<br><br>';
foreach($itemsEnCesta as $k => $v){
$valor = $v * $itemsEnCestaCosto[$k];
//echo 'Artículo: '.$k.' cantidad: '.$v.' Costo unitario: '.$itemsEnCestaCosto[$k].' Valor: '.$valor.' <br>';
print '<tr><td>'.$v.'</td><td>'.$k.'</td><td>'.$itemsEnCestaCosto[$k].'</td><td>'.$valor.'</td></tr>';
$totalArt += $v;
$total += $valor;
}
}
?>
</table>
<?php print '<br>Articulos totales: '.$totalArt.'<br>Costo total: '.$total.''; ?>
vaciar.php
Código PHP:
<?php
session_start();
session_destroy();
?>