Un carrello della spesa con PHP/MySQL
Articolo scritto da Claudio Garau
Pagina 5 di 5
Pagina 5 di 5
5. Gestione del carrello lato utente
Il file "carrello.php" si occupa della gestione dei contenuti del carrello, grazie ad esso sarà possibile aggiornare il numero dei prodotti acquistati ed eventualmente eliminare quelli che non si desidera più aquistare. Il tutto è ottenuto grazie all'azione di 3 condizioni contenute all'interno di un switch che prevede i casi "aggiungi", "cancella" e "modifica" la cui funzione è intuibile.
(L'articolo continua più sotto...)
');
Ecco il codice dell'ultimo file della nostra applicazione:
<?php
@session_start();
@require('mysql.php');
@require('config.php');
@require('funzioni.php');
$carrello = $_SESSION['carrello'];
if(@isset($_GET['action']))
{
$action = $_GET['action'];
switch ($action)
{
case 'aggiungi':
if ($carrello)
{
$carrello .= ','.$_GET['id'];
}else{
$carrello = $_GET['id'];
}
break;
case 'cancella':
if ($carrello)
{
$prodotti = @explode(',',$carrello);
$acquisto = '';
foreach ($prodotti as $prodotto)
{
if ($_GET['id'] != $prodotto)
{
if ($acquisto != '')
{
$acquisto .= ','.$prodotto;
}else{
$acquisto = $prodotto;
}
}
}
$carrello = $acquisto;
}
break;
case 'aggiorna':
if ($carrello)
{
$acquisto = '';
foreach ($_POST as $key=>$value)
{
if (@stristr($key,'quantita'))
{
$id = @str_replace('quantita','',$key);
$prodotti = ($acquisto != '') ?
@explode(',',$acquisto) : @explode(',',$carrello);
$acquisto = '';
foreach ($prodotti as $prodotto)
{
if ($id != $prodotto)
{
if ($acquisto != '')
{
$acquisto .= ','.$prodotto;
}else{
$acquisto = $prodotto;
}
}
}
for ($i=1;$i<=$value;$i++)
{
if ($acquisto != '')
{
$acquisto .= ','.$id;
}else{
$acquisto = $id;
}
}
}
}
}
$carrello = $acquisto;
break;
}
}
$_SESSION['carrello'] = $carrello;
?>
<html>
<head>
<title>Un carrello della spesa con PHP</title>
</head>
<body>
<h1>Carrello in PHP</h1>
<?php
echo usaCarrello();
?>
<h1>Controlla il numero dei prodotti</h1>
<?php
echo mostraCarrello();
?>
<a href="index.php">Torna allo shop</a><br>
</body>
</html
Prima di concludere, ricordiamo che un carrello della spesa non attiene alla transazione monetaria per l'acquisto dei prodotti in esso presenti, ma si limita alla loro raccolta. Questi verranno poi trasmessi allo script che si occupa dei pagamenti e solo lì avverrà la transazione vera e propria. Ma questo dovrà essere l'argomento di un apposito tutorial.
Il lettore potrà implementare lo script proposto in vari modi, ci limiteremo a suggerirne alcuni:
- Suddivisione dei prodotti in categorie ed eventuali sottocategorie
- Implementazione di un sistema per l'invio di messaggi di posta elettronica con la notifica degli ordini effettuati
- Un sistema di iscrizione per raccogliere i dati dei clienti prima dell'accesso al carrello
- Calcolo dell'IVA per singolo acquisto e per l'intero importo
- Spese di spedizione ed eventuali offerte







