Problema con carrello elettronico

Discussione in 'PHP' iniziata da neo996sps, 26 Marzo 2010.

  1. neo996sps

    neo996sps Utente Attivo

    Registrato:
    31 Maggio 2007
    Messaggi:
    247
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Imprenditore
    Località:
    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']) ? : (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;
        }
        
    $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;
        }
        
    $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);
    }
    ?>


     
  2. Eliox

    Eliox Utente Attivo

    Registrato:
    25 Febbraio 2005
    Messaggi:
    4.390
    Mi Piace Ricevuti:
    3
    Punteggio:
    0
  3. neo996sps

    neo996sps Utente Attivo

    Registrato:
    31 Maggio 2007
    Messaggi:
    247
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Imprenditore
    Località:
    Trentino
    ho provato ma nulla di fatto. :incazz2:
     
Sto caricando...

Condividi questa Pagina