Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, pessoal. Tudo bem?
Estou fazendo um sistema de orçamento online, estava indo tudo bem até que o cliente pediu uma alteração que fez com que eu precisasse passar de GET para POST e após isso não consegui fazer a sessão do carrinho funcionar segue o código:
<?php
session_start();
$quant = $_POST['quant'];
if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array();
}
if($_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çamento</h2>
<table id="tabela" width='910'><tr><td colspan='7' class='titulotabela'><p>Seus Produtos</p></td></tr>
<tr><td class='subtitulotabela'>Có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ção</td></tr>
<?php
if(isset($_POST['orcar'])){
if(!isset($_SESSION['carrinho'][$codigo])){
$_SESSION['carrinho'][$codigo] = $quant;
} else {
$_SESSION['carrinho'][$codigo] += $quant;
}
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ê ainda não solicitou nenhum produto para orçamento</td></tr>";
} ?>
O codigo foi feito usando como base esse tutorial: Carrinho de compras com PHP
É a primeira vez que trabalho com SESSIONs então talvez o erro seja bem básico, porém, não consigo enxergá-lo. Agradeço desde já a ajuda.
Acho que esqueci de explicar exatamente o problema...
O que acontece é que a sessão parece não gravar os dados. Quando eu clico em remover um dos itens do carrinho ou saio da página a sessão é apagada, se eu vou para a página de produtos para acrescentar um novo, por exemplo, ele sobre escreve os dados anteriores.
Acredito que assim está mais fácil de entender o problema. Agradeço toda e qualquer ajuda.
Carregando comentários...