Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com session em carrinho de orçamento


Nitinha

Pergunta

Bom dia a todos!

Estou há duas semanas travada em um problema com o meu código e já não sei mais o que fazer, estou até aceitando pagar para que alguém termine o sistema para mim. Nunca havia mexido com session em PHP e muito menos havia realizado algum dia um sistema do tipo carrinho de compras, segui um tutorial muito bom na internet, porém, as alterações do cliente fizeram com que eu mudasse algumas coisas do sistema anterior, por exemplo, passando de GET para POST o form que acrescenta os produtos no carrinho.

Até aí tudo bem, o problema é que depois disso eu não consegui mais fazer a session funcionar, talvez o problema seja muito pequeno e simples, porém, como estou aprendendo o funcionamento dela junto com esse programa estou com dificuldade para visualizá-lo e corrigí-lo. Segue abaixo o código do carrinho:

<?php 
      session_start();
      
      $quant = $_POST['quant'];
      
      if(!isset($_SESSION['carrinho'])){
          $_SESSION['carrinho'] = array();
      }
      
      if($_SERVER['REQUEST_METHOD'] == 'POST'){ //se for um POST
        if(is_array($_SESSION['carrinho'][$codigo])){  //checa se já existe aquele produto no carrinho
            $_SESSION['carrinho'][$codigo][$quant] += $quant; //se tiver ele adiciona na quantidade
        }                                              
    }elseif($_GET['acao'] == 'remover'){
        if(isset($_SESSION['carrinho'][$codigo])){
              unset($_SESSION['carrinho'][$codigo]);
              }
    }
      


      include("estrutura/header.php");
      ?>
  <div id="wrapper">
<div id="produtos">
            <div class="fix_float"></div>
          <h2>Carrinho para Or&ccedil;amento</h2>
          <table id="tabela" width='910'><tr><td colspan='7' class='titulotabela'><p>Seus Produtos</p></td></tr>
          <tr><td class='subtitulotabela'>C&oacute;d.</td><td class='subtitulotabela'>Produto</td><td class='subtitulotabela'>Complemento</td><td class='subtitulotabela'>Emb.</td><td class='subtitulotabela'>Qtde. por Emb.</td><td class='subtitulotabela'>Qtde.</td><td class='subtitulotabela'>A&ccedil;&atilde;o</td></tr>
          <?php
           if(isset($_POST['orcar'])){
          foreach ($_POST['orcar'] as $codigo){
                    require("conn/connect.php");
                    $query = mysql_query("SELECT * FROM produtos WHERE codigo = '$codigo'") or die (mysql_error());
                  $pedido = mysql_fetch_array($query);
                  
                  $produto = $pedido['produto'];
                  $detalhe = $pedido['detalhe'];
                  $complemento = $pedido['complemento'];
                  $embalagem = $pedido['embalagem'];
                  $quantembalagem = $pedido['quantembalagem'];
                  
                  echo "<tr><td>" . $codigo . "</td><td><strong>" . $produto . "</strong> " . $detalhe . "</td><td>" . $complemento . "</td><td>" . $embalagem . "</td><td>" . $quantembalagem . "</td><td><input type='text' size='1' name='quant' value='" . $quant[$codigo] . "'style='border:1px solid black'></td><td><a style='color:red;' href='?acao=remover&codigo=" . $codigo . "'>Remover</a></td></tr>";
          }
          } else {
              echo "<tr><td colspan='7' style='color:red'>Voc&ecirc; ainda n&atilde;o solicitou nenhum produto para or&ccedil;amento</td></tr>";
          } ?>

Agradeço desde já a atenção.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Qual é o problema?

e qual a sua dificuldade...

você so disse que não ta conseguindo depois que fez as alterações e pois o código fica dificil pra pode entender o que está realmente acontecendo de mais informações para pode ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0

Verdade, desculpa.

O problema é que a sessão não está armazenando os dados. Se eu tento excluir um item do carrinho, por exemplo, a sessão é zerada, o mesmo acontece se eu vou para outra página para acrescentar mais produtos, ele apaga os anteriores e acrescenta os novos.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...