Boa noite, estou tentando desenvolver meu primeiro ecommerce mas não consigo passar os dados de uma pagina para outra utilizando sessions. Consigo trazer o produto escolhido da pagina index para a pagina precompra mas na hora de passar para o carrinho estou encontrando dificuldade de montar o script. Agradeceria, se possivel, me mostrar onde estou errando:
esta é a pagina precompra onde eu trago o codigo do produto e faço a exibição, pego a quantidade do item exibido e estou tentando enviar os dados para montar a pagina carrinho mas não estou conseguindo:
<div class="container"><?php$action = “”; $id = “”; $comando = “”; //Nova variavel!if (isset($_GET[“id”])) { $id = $_GET[‘id’]; $comando = “ATUALIZAR”; $ehAlteracao = true; } else { if (isset($_POST[“codigo_barras”])) {$id = buscaIDdoProdutoPeloCodigoInterno($conexao, $_POST["codigo_barras"]); //Funcao que pesquisa o codigo e retorna o ID do registro no banco (se existir) $comando = "NOVO"; $ehAlteracao = false; } else { $comando = "ATUALIZAR"; $ehAlteracao = true;} }if ($comando == “NOVO”){ $mensagem = “Produto não localizado!”; $action = “index.php”; $produto = new Produto("", “”, “”, “”, “”);//Alteração - Preencher automaticamente o código $Produto->setCodigo($_POST["codigo_barras"]);} if ($comando == “ATUALIZAR”){ $produto = buscaProduto($conexao, $id); $ehAlteracao = true; $codigo = $produto->getCodigo(); $mensagem = “Produto localizado!”; $action = “carrinho.php”; }?>
<div class="row"> <div class="col-md-6"> <div class="tab-content"> <div class="tab-pane active" id="product-page1"> <img src="../cadastro/fotos/<?=$produto->getFoto() ?>" width="235px" height="245px" width="auto" height="auto" alt="..." /> </div> </div> <div class="clearfix"></div> </div><div class="col-md-6"> <div class="product-details"> <a href="#"> <h3 class="title"><?=$produto->getMarca()->getNome() ?></h3> </a> <p class="description"> <?=$produto->getnome() ?> </p><h4><span class="price">R$ <?=$produto->getPreco() ?></span></h4> </div> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingOne"> <h4 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria->expanded="true" aria-controls="collapseOne">Descrição do Produto </a> </h4> </div> <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne"> <div class="panel-body"><?=$produto->getDescricao() ?> </div> </div> </div> <div class="row"> <div class="col-md-6 col-md-offset-6"> <div class="actions"> <div class="pull-left"> <div class="form-group"> <select name="huge" class="selectpicker" data-style="btn" data-menu-style="dropdown-blue"><option value="en" selected="">Selecione a Quantidade</option> <option value="quantidade">1</option> <option value="quantidade">2</option> <option value="quantidade">3</option> <option value="quantidade">4</option> <option value="quantidade">5</option> </select> <a href="carrinho.php"> <button type="button" class="btn btn-success btn-fill" type="submit">Adicionar aoCarrinho</button></a><a href="index.php"> <button type="button" class="btn btn-fill">Ver Mais Produtos</button></a> </div> </div> </div> </div> </div></div> </div>> </form>> <?php $_SESSION['produto']{ $produto->getId()} = array( 'nome' => $produto->getnome() , 'preço' => $produto->getPreco() , 'descricao' => $produto->getDescricao() , 'imagem' => $produto->getFoto() , 'quantidade' => $produto->getquantidade() ); // adicionar itens ao carrinho if(isset($_GET['produto']) && isset($_GET['a'])){ if($_GET['a'] == 'adicionar'){ if(!empty($_SESSION['carrinho'])){ foreach($_SESSION['carrinho'] as $item => $produto){ if($item == $_GET['produto']){ $_SESSION['carrinho'][$item]['quantidade'] = $produto['quantidade']; break; } else { foreach($produtos as $produto){ if($produto['id'] == $_GET['produto']){ $_SESSION['carrinho'][$produto['id']] = ['nome'=>$produto['nome'], 'preco'=>$produto['preco'],'descricao'=>$produto['descricao'],'quantidade'=>$produto['quantidade']];break; } } } } } else { foreach($produtos as $produto){ if($produto['id'] == $_GET['produto']){ $_SESSION['carrinho'][$produto['id']] = ['nome'=>$produto['nome'],'preco'=>$produto['preco'],'descricao'=>$produto['descricao'], 'quantidade'=>$produto['quantidade']];} } } } } ?>essa é a pagina do carrinho onde estou tentando pegar os dados da precompra mas também não estou conseguindo:
<?php if(!empty($_SESSION['carrinho'])){ $total = 0; print "<strong> carrinho (" . count($_SESSION['carrinho']) . ")</strong><br>"; foreach($_SESSION['carrinho'] as $item => $detalhes){ print $detalhes['nome'] . " x " . $detalhes['itens'] . $detalhes['descricao'] ."<br>"; $total += $detalhes['itens'] * $detalhes['preco']; } print "<strong>total: </strong>" . number_format($total, 2); } else { print "<center><h4><br><br>carrinho vazio</h4></center>"; } ?> <tbody> <tr> <td> <div class="img-container"> <img src="../cadastro/fotos/<? $detalhes['imagem']?>"alt="Foto" /> </div> </td> <td class="td-name"> <? $detalhes['nome']?> </td> <td> <p> <? $detalhes['descricao']?></p> </td> <td class="td-number"> <small>R$</small><?$detalhes['preco']?> </td> <td class="td-number"> <small>x</small><?$detalhes['itens']?> </td> <td class="td-number"> <small>R$</small><?$total += $detalhes['itens'] * $detalhes['preco'];?> </td> <td class="td-actions"> <button type="button" rel="tooltip" data-placement="left" title="Remover item" class="btn btn-danger btn-simple btn-icon "> <i class="fa fa-times"></i> </button> </td> </tr> <tr> <td class="td-actions"> <div class="info info-horizontal"> <div class="icon icon-blue icon-sm"> <h3><i class="fa fa-shopping-cart"></i></h3> </div> </div> </td> <td>