Si desde la página del listado de productos, el usuario pulsa sobre el botón "Ir a Cesta", se le dirige a la página de la Cesta de la compra "cesta.php
", en la que se le muestra un resumen de los productos que ha seleccionado junto al importe total de los mismos.
La página se divide en varias partes:
- Al principio, como ya explicamos en el apartado anterior comprobamos que existe la variable $
_SESSION['nombre']
, redireccionándonos alogin
si no es así. Hacemos elrequire_once
deconexión
y recorriendo los valores del array$_SESSION['cesta']
(recuerda que almacenaba los id de los productos seleccionados) inicializamos un array con el nombre y el precio de los mismos. Para ello utilizamos la funciónrecuperarProducto($id)
de "conexión.php
".if(!isset($_SESSION['nombre'])){ header('Location:login.php'); } require_once 'conexion.php'; if(isset($_SESSION['cesta'])){ foreach($_SESSION['cesta'] as $k=>$v){ $producto=consultarProducto($k); $listado[$k]=[$producto->nombre, $producto->pvp]; $producto=null; } cerrar($conProyecto); }
- Encabezado, la cantidad de productos del carro, el usuario con el que estamos validados y el botón "Salir" es exactamente igual que en la página "
listado.php
". - Listado de productos, un listado de los productos añadidos (nombre y precio) y la suma de los precios.
<?php if(!isset($_SESSION['cesta'])){ echo "<p class='card-text'>Carrito Vacio</p>"; } else{ $total=0; echo "<p class='card-text'>"; echo "<ul>"; foreach($listado as $k=>$v){ echo "<li>$v[0], PVP ($v[1]) €.</li>"; $total+=$v[1]; } echo "</ul></p>"; echo "<hr style='border:none; height:2px; background-color: white'>"; echo "<p class='card-text'><b>Total:</b><span class='ml-3'>$total (€)</span></p>"; } ?>
- Botones "Volver" y "Comprar". Son un enlace a "
listado.php
" y "pagar.php
" respectivamente.<a href="listado.php" class="btn btn-primary mr-2">Volver</a> <a href="pagar.php" class="btn btn-danger">Pagar</a>
La página "pagar.php
" (es una página sencilla que nos da la opción a hacer otra compra o a salir).
El contenido de la página "cerrar.php
" sería:
<?php
session_start();
unset($_SESSION['nombre']);
unset($_SESSION['cesta']);
header('Location:login.php');