nknk 3 Denunciar post Postado Agosto 1, 2008 Estou com problemas com este carrinho, o código encontrei pela net, ele apresenta problemas para incluir, excluir. <? /* /////////////////////////////////////////////////////////// Logo abaixo criaremos as funções práticas de funcionamento do carrinho, que são as funções de inserir, excluir, e apagar o carrinho de compras. Mas antes disso temos que criar a Classe. */ /////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // Inicia a função criando a classe "carrinho_compra" ////////////////////////////////////////////////////////////// class carrinho_compra{ function inserir_item($code,$quantidade){ $this->codigo = $code; $this->qtde = $quantidade; $this->dados = $_SESSION['carrinho_compras']; if($this->dados != ""){ $this->chave = array_keys($this->dados); $this->soff = sizeof($this->chave); for($i = 0; $i < $this->soff; $i++){ if($this->dados[$i]['codigo'] == $this->codigo){ $this->dados[$i]['qtde'] += $this->qtde; $tem = 1; break; } } if($tem != 1){ $this->dados[$this->soff]['codigo'] = $this->codigo; $this->dados[$this->soff]['qtde'] = $this->qtde; } $_SESSION['carrinho_compras'] = NULL; $_SESSION['carrinho_compras'] = $this->dados; }else{ $this->dados[0]['codigo'] = $this->codigo; $this->dados[0]['qtde'] = $this->qtde; $_SESSION['carrinho_compras'] = NULL; $_SESSION['carrinho_compras'] = $this->dados; } } function excluir_item($code){ $this->codigo = $code; $this->dados = $_SESSION['carrinho_compras']; if($this->dados != ""){ $this->chave = array_keys($this->dados); $this->soff = sizeof($this->chave); for($i = 0; $i < $this->soff; $i++){ if($this->dados[$i]['codigo'] == $this->codigo){ unset($this->dados[$i]); $this->dados1 = array_values($this->dados); $_SESSION['carrinho_compras'] = NULL; $_SESSION['carrinho_compras'] = $this->dados1; break; } } } } function exibir_dados(){ $this->dados = $_SESSION['carrinho_compras']; if ($this->dados != ""){ $this->dados = array_reverse($this->dados); $this->chave = array_keys($this->dados); $this->soff = sizeof($this->chave); for ($i = 0; $i < $this->soff; $i++){ $codigo = $this->dados[$i]['codigo']; $quant = $this->dados[$i]['qtde']; print $codigo." - ".$quant."<br />"; } }else{ echo "Carrinho Vazio"; } } } ?> <? session_start(); require_once("carrinho.php"); $carrinho = new carrinho_compra; $carrinho->dados = $_SESSION['carrinho_compras']; $carrinho->chave = array_keys($carrinho->dados); $carrinho->soff = sizeof($carrinho->chave); $idproduto = $_GET['idproduto']; $quantidade = $_GET['quantidade']; $acao = $_GET['acao']; if($acao == 'ADD'){ $carrinho->inserir_item($idproduto,$quantidade); } if($acao == 'DEL'){ $carrinho->excluir_item($idproduto); } if($acao == 'UPD' and $quantidade < 0){ $carrinho->excluir_item($idproduto); } if($acao == 'UPD' and $quantidade > 0){ $carrinho->inserir_item($idproduto,$quantidade); } if($acao == 'LIMPA'){ for($i = 0; $i < $carrinho->soff; $i++){ $idproduto = $carrinho->dados[$i]['codigo']; $carrinho->excluir_item($idproduto); } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 1, 2008 Pronto... porque que tu não mostra os erros que aparece ? ou tentar explicar melhor o que se ocorre, desta maneira fica complicado, pega o código na net, tem problemas e posta aqui pra alguém advinhar o erro e corrijir, complica. Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 1, 2008 Eu disse o problema que acontecia, que estava na parte de exclusão e inclusão. Eu dei uma olhada nos códigos de carrinho que tem pela net, esse é o mais simples que encontrei, ele lista, inclui e exclui, mas n entendo muito de orientação a objeto. Ao excluir um produto, ele exclui normalmente mas depois qdo pede para listar ele volta novamente o produto, o que imaginei foi q ele não ta excluindo da SESSION corretamente. $_SESSION['carrinho_compras'] = NULL; o que significa esta linha? Compartilhar este post Link para o post Compartilhar em outros sites
AlterC 0 Denunciar post Postado Agosto 1, 2008 E quando você inclui? Aparece o que? Já olhou a sua estrutura condicional? Viu se tudo o que é requerido está sendo passado corretamente? Tipo campos, parâmetros, etc? []'s Compartilhar este post Link para o post Compartilhar em outros sites
AlterC 0 Denunciar post Postado Agosto 1, 2008 Essa linha provavelmente deve ser pra iniciar o carrinho sem nenhum produto né? A sessão inicia com ele sem nada. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 1, 2008 Estuda por aqui que tu vai entender o que cada código faz: http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://videotutoriais.net/videos/carrinho_...ho_compras.html Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 4, 2008 Consegui resolver o problema, acho que estava na parte de variaveis e session. Acabei descobrindo que este código está disponivel aqui no Laboratório de script, e ele é muito simples, ideal para quem quer iniciar uma aplicação deste tipo. O video é interessante, mas este tipo de aplicação serviria para usuários cadastrados, utilizar sql para usuários visitantes sendo que eles podem desistir da compra é gasto. Compartilhar este post Link para o post Compartilhar em outros sites