Salve a tutti sto creando un carrello elettronico molto molto rudimentale, ma non mi funziona.
Vi posto il codice della pagina prodotti.php che contiene un form per ogni prodotto.
Codice PHP:
.
.
.
session_start();
.
.
.
while ( ($row = @$result->fetch_assoc()) !== NULL)
{
echo " <div class=\"prodotto\">\n";
echo " <h3>" . $row['Nome'] . "</h3>\n";
echo " <ul>\n";
echo "[*]<span class=\"strong\">Categoria : </span>" . $row['Categoria'] . "\n";
echo "[*]<span class=\"strong\">Prezzo : </span>" . $row['Prezzo'] . " €\n";
echo "[*]<span class=\"strong\">Peso : </span>" . $row['Peso'] . " gr.\n";
echo "[*]<span class=\"strong\">Descrizione : </span>
\n" . $row['Descrizione'] . "\n";
echo "[/list]\n";
echo " <form action=\"Libs-script-php/addtocart.php\" method=\"post\">\n";
echo " [list=1]\n";
echo "[*]<span class=\"strong\">Quantità : </span>\n";
echo " <input type=\"text\" name=\"quantita\" id=\"quantita\" size=\"4\" maxlength=\"4\" />\n";
echo " <input type=\"hidden\" id=\"idprod\" name=\"idprod\" value=\"" . $row['Id'] . "\" />\n";
echo " <button type=\"submit\" value=\"Aggiungi al carrello\"></button>\n";
echo "[/list]\n";
echo " </form>";
echo " <a href=\"".$row['Url']."\" title=\"".$row['Nome']."\" class=\"virtualbox\">\n<img src=\"" . $row['Url_thumbs'] . "\" width=\"150\" height=\"113\" title=\"".$row['Nome']."\" alt=\"".$row['Nome']."\" class=\"prodotto\" />\n</a>\n";
echo " </div>\n";
}
}
Al click sul pulsante submit si passa alla pagina addtocart.php che contiene lo script che gestisce il carrello che a sua volta reindirizza alla pagina il-mio-carrello.php che fa visualizzare i prodotti presenti.
Vi posto il codice della pagina addtocart.php
Codice PHP:
<?php
function addProductToUserCart($in_pid, $in_quantita)
{
if (isset($_SESSION['cart']))
{
array_push($carrello, $in_pid, $in_quantita);
$_SESSION['cart'] = $carrello;
}
else
{
if (!isset($_SESSION['cart']))
{
$carrello = array();
$_SESSION['cart'] = array();
}
array_push($carrello, $in_pid, $in_quantita);
$_SESSION['cart'] = $carrello;
}
}
if (isset($_POST['quantita']) && isset($_POST['idprod']))
{
$pid = intval($_POST['idprod']);
$quantita = intval($_POST['quantita']);
}
else
{
header('Location: ../errore.php');
}
addProductToUserCart($pid, $quantita);
header('Location: ../il-mio-carrello.php');
?>
e infine il codice della pagina il-mio-carrello.php (contiene una sola istruzione, ma è quel tanto che basta per farmi capire che non funge).
Codice PHP:
<?php
.
.
.
session_start();
.
.
.
var_export($_SESSION['cart']);
?>
I dati di sessione dovrebbero essere disponibili in tutte le pagine in cui la sessione è startata giusto ?