Ciao a tutti,
ho un problema con il carrello elettronico del tutorial di MrWebmaster. Ho sistemato un pò gli script per adattarli alla mia grafica e ora non funziona più nulla.
Premetto che non ho modificato il codice pesantemente. Posto di seguito i file degli script:
File carrello.php
File funzioni.php
ho un problema con il carrello elettronico del tutorial di MrWebmaster. Ho sistemato un pò gli script per adattarli alla mia grafica e ora non funziona più nulla.
Premetto che non ho modificato il codice pesantemente. Posto di seguito i file degli script:
File carrello.php
PHP:
<?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;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title>Perozzo & Girardelli - Macchine Agricole</title>
<script type="text/javascript" src="./script/script.js"></script>
<link rel="stylesheet" href="./css/style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="./css/stilep.css" type="text/css" media="screen" />
<!--[if IE 6]><link rel="stylesheet" href="./css/style.ie6.css" type="text/css" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="./css/style.ie7.css" type="text/css" media="screen" /><![endif]-->
</head>
<body>
<div id="art-page-background-gradient"></div>
<div id="art-main">
<div class="art-Sheet">
<div class="art-Sheet-tl"></div>
<div class="art-Sheet-tr"></div>
<div class="art-Sheet-bl"></div>
<div class="art-Sheet-br"></div>
<div class="art-Sheet-tc"></div>
<div class="art-Sheet-bc"></div>
<div class="art-Sheet-cl"></div>
<div class="art-Sheet-cr"></div>
<div class="art-Sheet-cc"></div>
<div class="art-Sheet-body">
<div class="art-Header">
<div class="art-Header-jpeg"></div>
<div class="art-Logo">
<h1 id="name-text" class="art-Logo-name"><a href="#">Perozzo & Girardelli</a></h1>
<div id="slogan-text" class="art-Logo-text">Macchine agricole</div>
</div>
</div>
<?php require ("./script/menu.php"); ?>
<div class="art-contentLayout">
<?php require ("./script/sidebar_left.php"); ?>
<div class="art-content">
<div class="art-Post">
<div class="art-Post-tl"></div>
<div class="art-Post-tr"></div>
<div class="art-Post-bl"></div>
<div class="art-Post-br"></div>
<div class="art-Post-tc"></div>
<div class="art-Post-bc"></div>
<div class="art-Post-cl"></div>
<div class="art-Post-cr"></div>
<div class="art-Post-cc"></div>
<div class="art-Post-body">
<div class="art-Post-inner">
<div class="art-PostMetadataHeader">
<h2 class="art-PostHeader">
Carrello
</h2>
</div>
<div class="art-PostContent">
<?php
echo mostraCarrello();
?>
<a href="index.php">Torna allo shop</a> <a href="ordina.php">Concludi l'ordine</a>
</div>
<div class="cleared"></div>
</div>
<div class="cleared"></div>
</div>
</div>
<div class="art-Post">
<div class="art-Post-tl"></div>
<div class="art-Post-tr"></div>
<div class="art-Post-bl"></div>
<div class="art-Post-br"></div>
<div class="art-Post-tc"></div>
<div class="art-Post-bc"></div>
<div class="art-Post-cl"></div>
<div class="art-Post-cr"></div>
<div class="art-Post-cc"></div>
<div class="art-Post-body">
<div class="art-Post-inner">
<div class="art-PostMetadataHeader">
<h2 class="art-PostHeader">
Ultimi Prodotti
</h2>
</div>
<div class="art-PostContent">
<?php
/*$sql = 'SELECT * FROM prodotti ORDER BY id';
$res = $db->query($sql);
$result[] = '<div class="pulsante">';
while ($f = $res->fetch())
{
$result[] = '<p>"'.$f['nome']. '"by '.$f['marca']. ': €'.$f['prezzo'].'<br>
<a href="carrello.php?action=aggiungi&id='.$f['id'].'">Aggiungi al carrello.</a></p>';
}
$result[] = '</div>';
echo @join('',$result);*/
$count = mysql_query("SELECT COUNT(id) FROM prodotti");
$res_count = mysql_fetch_row($count);
$tot_records = $res_count[0];
$per_page = 6;
$tot_pages = ceil($tot_records / $per_page);
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$primo = ($current_page - 1) * $per_page;
print("<br />");
$query_limit = mysql_query("SELECT * FROM prodotti LIMIT $primo, $per_page");
while($riga1 = mysql_fetch_array($query_limit)) {
print("<div class='pulsante'");
print("<b>".$riga1["nome"]."</b><br />");
print("<a href='./catalogo.php?id=".$riga1["id"]."'><br /><img src='./download/prodotti/".$riga1["foto"]."' alt='".$riga1["nome"]."' height='50%'/></a><br /><br />");
print("".$riga1["descrizione_introduttiva"]."<br /><br />");
switch ($riga1["prezzo"])
{ case "": print("<b>Trattativa in sede</b>"); break;
default: print("<b>€".$riga1["prezzo"]."</b>"); break;
}
print("<br /><a href='carrello.php?action=aggiungi&id=".$riga1["id"]."'><img src='./img/ecommerce/carrello_aggiungi.png' alt='aggiungi' title='Aggiungi al carrello' /></a>");
print("</div>");
include("./script/paginazione_prodotti_usati.php");
}
?>
</div>
<div class="cleared"></div>
</div>
<div class="cleared"></div>
</div>
</div>
</div>
<?php require("./script/sidebar_right.php"); ?>
</div>
<div class="cleared"></div><div class="art-Footer">
<div class="art-Footer-inner">
<?php require("./script/footer.php");?>
</div>
<div class="art-Footer-background"></div>
</div>
<div class="cleared"></div>
</div>
</div>
<div class="cleared"></div>
<br />
</div>
</body>
</html>
File funzioni.php
PHP:
function usaCarrello()
{
$carrello = $_SESSION['carrello'];
if (!$carrello)
{
return 'Il carrello é vuoto.<br>';
}else{
$prodotti = @explode(',',$carrello);
return 'Ci sono <a href="carrello.php">'.
@count($prodotti). ' prodotti nel carrello.</a><br>';
}
}
function mostraCarrello()
{
global $db;
$carrello = $_SESSION['carrello'];
$somma = 0;
if ($carrello)
{
$prodotti = @explode(',',$carrello);
$acquisti = array();
foreach ($prodotti as $prodotto)
{
$acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
}
$result[] = '<form action="carrello.php?action=aggiorna" method="post" id="cart"><br />';
$result[] = '<table class="tabella">
<thead><tr>
<th class="cella_intestazione"><b>Articolo</b></th>
<th class="cella_intestazione"><b>Unitario</b></th>
<th class="cella_intestazione"><b>Q</b></th>
<th class="cella_intestazione"><b>Totale</b></th>
<th class="cella_intestazione"> </th>
</tr>
</thead><tbody>';
foreach ($acquisti as $id=>$quantita)
{
$sql = 'SELECT * FROM prodotti WHERE id = '.$id;
$res = $db->query($sql);
$f = $res->fetch();
@extract($f);
$result[] = '<tr>';
$result[] = '<td class="cella_corpo_carrello"> '.$nome.'</td>';
$result[] = '<td class="cella_corpo_carrello_2">€'.$prezzo.'</td>';
$result[] = '<td class="cella_corpo_carrello_2"><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
$result[] = '<td class="cella_corpo_carrello_2">€'.($prezzo * $quantita).'</td>';
$somma += $prezzo * $quantita;
$result[] = '<td class="cella_corpo_carrello_2"><a href="carrello.php?action=cancella&id='.$id.'"><img src="./img/ecommerce/carrello_elimina.png" alt="Cancella" title="Cancella il presente articolo dal carrello" /></a></td>';
$result[] = '</tr>';
}
$result[] = '</tbody></table>';
$result[] = 'Totale: <b>€ '.$somma.'</b><br />';
$result[] = '<button type="submit"><img src="./img/ecommerce/carrello_aggiorna.png" alt="Aggiorna" title="Aggiorna il carrello" /></button><br />';
$result[] = '</form>';
}else{
$result[] = 'Il carrello é vuoto.<br>';
}
return @join('',$result);
}
function mostraCarrellosmall()
{
global $db;
$carrello = $_SESSION['carrello'];
$somma = 0;
if ($carrello)
{
$prodotti = @explode(',',$carrello);
$acquisti = array();
foreach ($prodotti as $prodotto)
{
$acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
}
$result[] = '<form action="carrello.php?action=aggiorna" method="post" id="cart">';
$result[] = '<table width="100%">';
foreach ($acquisti as $id=>$quantita)
{
$sql = 'SELECT * FROM prodotti WHERE id = '.$id;
$res = $db->query($sql);
$f = $res->fetch();
@extract($f);
$result[] = '<tr>';
$result[] = '<td>'.$nome.'</td>';
$result[] = '<td>€'.$prezzo.'</td></tr>';
$result[] = '<tr><td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
$result[] = '<td>€'.($prezzo * $quantita).'</td>';
$somma += $prezzo * $quantita;
$result[] = '<td><a href="carrello.php?action=cancella&id='.$id.'"><img src="./img/ecommerce/carrello_elimina.png" alt="Cancella" title="Cancella il presente articolo dal carrello" /></a></td>';
$result[] = '</tr>';
}
$result[] = '</table>';
$result[] = 'Totale: <b>€'.$somma.'</b><br><br />';
$result[] = '<button type="submit"><img src="./img/ecommerce/carrello_aggiorna.png" alt="Aggiorna" title="Aggiorna il carrello" /></button>';
$result[] = '</form>';
}else{
$result[] = 'Il carrello é vuoto.<br>';
}
return @join('',$result);
}
?>