Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 218

Carrinho de compras não lista os produtos

12-07-2013 20:33

Bom dia,

Pesquisando na internet achei um tutorial explicando como criar um carrinho de compras:

Link: http://www.davidchc.com.br/video-aula/p ... s-com-php/

Quando vou testar, e add o produto no carrinho aparece certinho, quando adiciono outro, ao inves de aparecer o novo, esta subistituindo e sempre ficando apenas um produto no carrinho...

Existe um forma de descobrir o erro?

Meu link que manda a ação:
/pagina.php?pagina=pag_lojavirtualCarrinho.php&idt=45&acao=add&ID_Produtos=1

<?php           session_start();                      if(!isset($_SESSION['carrinho'])){              $_SESSION['carrinho'] = array();           }                      //adiciona produto                      if(isset($_GET['acao'])){                                //ADICIONAR CARRINHO                  if($_GET['acao'] == 'add'){                     $ID_Produtos = intval($_GET['ID_Produtos']);                     if(!isset($_SESSION['carrinho'][$ID_Produtos])){                        $_SESSION['carrinho'][$ID_Produtos] = 1;                     }else{                        $_SESSION['carrinho'][$ID_Produtos] += 1;                     }                  }                                //REMOVER CARRINHO                  if($_GET['acao'] == 'del'){                     $ID_Produtos = intval($_GET['ID_Produtos']);                     if(isset($_SESSION['carrinho'][$ID_Produtos])){                        unset($_SESSION['carrinho'][$ID_Produtos]);                     }                  }                                //ALTERAR QUANTIDADE                  if($_GET['acao'] == 'up'){                     if(is_array($_POST['prod'])){                        foreach($_POST['prod'] as $ID_Produtos => $qtd){                           $ID_Produtos  = intval($ID_Produtos);                           $qtd = intval($qtd);                           if(!empty($qtd) || $qtd <> 0){                              $_SESSION['carrinho'][$ID_Produtos] = $qtd;                           }else{                              unset($_SESSION['carrinho'][$ID_Produtos]);                           }                        }                     }                  }                      }           print_r($_SESSION['carrinho']);                ?>


<?php                      if(count($_SESSION['carrinho']) == 0){                         echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>';                      }else{                         $total = 0;                         foreach($_SESSION['carrinho'] as $ID_Produtos => $qtd){                               $sql   = "SELECT * FROM loja_produtos WHERE ID_Produtos = '$ID_Produtos'";                               $qr    = mysql_query($sql) or die(mysql_error());                               $ln    = mysql_fetch_assoc($qr);                                                               $nome         = $ln['produto'];                               $preco        = number_format($ln['valor'], 2, ',', '.');                               $sub          = number_format($ln['valor'] * $qtd, 2, ',', '.');                   $peso          = $ln['peso'];                                                              $pesoTotal    += $peso * $qtd;                   $pesoTotal    = number_format($pesoTotal, 3, '.', '');                               $total         += $ln['valor'] * $qtd;                              echo '                                <tr>                                 <td bgcolor="#EFEFEF" align="left">'.$nome.'</td>                                 <td bgcolor="#EFEFEF" align="left"><input type="text" size="3" name="prod['.$ID_Produtos.']" value="'.$qtd.'" /> '.$peso.'</td>                                 <td bgcolor="#EFEFEF" align="right"><strong>'.$preco.'</strong></td>                                 <td bgcolor="#EFEFEF" align="center"><a href="pagina.php?pagina=pag_lojavirtualCarrinho.php&idt=45&acao=del&ID_Produtos='.$ID_Produtos.'"><img src="../_paginas/images/cancel.png" width="16" height="16" /></a></td>                                 <td bgcolor="#EFEFEF" align="right"><strong>'.$sub.'</strong></td>                               </tr>                               ';                                                   }                     }                ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Carrinho de compras não lista os produtos

12-07-2013 20:59

Pelo que observei, o id do produto, que é passado pelo link é ID_Produtos

Não entendi porque adiciona o id do produto na SESSION com o valor 1, ou incrementa

$_SESSION['carrinho'][$ID_Produtos] = 1; 

Porque na listagem dos produtos, parece pegar o valor armazenado, ou seja, sempre o 1.

Acho que ao invés do 1, deveria ser o valor referente ao id do produto.

Confirme se seria isso com o desenvolvedor do script.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 218

Carrinho de compras não lista os produtos

12-07-2013 21:16

Não, essa linha que você esta falando ele só esta recebendo o valor 1. QUando add no carrinho ele inclui a quantidade 1, se quiser alterar, faz no carrinho... Entende?

O que não esta fazendo é colocar os novos produtos no carrinho, sempre aparece apenas 1 item
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 218

Carrinho de compras não lista os produtos

12-07-2013 21:28

Parece que não esta salvando o produto que já foi adicionado no carrinho.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Carrinho de compras não lista os produtos

12-07-2013 21:52

Acho que entendi o problema.

O identificador do produto não está sendo salvo na SESSION da forma correta.

Testa esse exemplo

<?php session_start(); $ID_Produtos = intval(@$_GET['ID_Produtos']); if(!isset($_SESSION['carrinho'][$ID_Produtos])){ $_SESSION['carrinho'][''.$ID_Produtos.''] = 1; } else { $_SESSION['carrinho'][''.$ID_Produtos.''] += 1; } foreach($_SESSION['carrinho'] as $ID_Produtos => $qtd){ echo "Produto: $ID_Produtos - $qtd quantidade(s)<br />"; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 218

Carrinho de compras não lista os produtos

12-07-2013 22:36

Tambem não funcionou
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Carrinho de compras não lista os produtos

12-07-2013 22:37

Testou, qual foi o resultado?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 218

Carrinho de compras não lista os produtos

12-07-2013 22:46

Mesmo resultado, entra no skype que te mandou meu link.
0

Quem está online

Usuários navegando neste fórum: Bing [Bot]