Problema con carrello elettronico

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
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
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 &amp; 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 &amp; 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>&nbsp;<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']. ': &euro;'.$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>&euro;".$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 &eacute; 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">&nbsp;</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">&nbsp;'.$nome.'</td>';
      $result[] = '<td class="cella_corpo_carrello_2">&euro;'.$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">&euro;'.($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>&euro; '.$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 &eacute; 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>&euro;'.$prezzo.'</td></tr>';
      $result[] = '<tr><td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
      $result[] = '<td>&euro;'.($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>&euro;'.$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 &eacute; vuoto.<br>';
  }
  return @join('',$result);
}
?>