Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lidianelasta

Excluir itens do carrinho - Session

Recommended Posts

Olá, pessoal. To fazendo um carrinho de compras e to me perdendo na parte de "unset", que no caso seria excluir um item do carrinho. Já testei vááários exemplos que encontrei na net, mas nenhum deles funcionou. Alguém poderia me dar um help, por gentileza? Obrigada.

 

Ps. O código tá super bagunçado e peguei ele pela metade, ainda tá meio complicadinho pra eu me achar certinho nele, espero que vcs consigam ;)

<?php
include_once('includes/session.php');
include_once('includes/conn.php');
include_once('includes/funcoes.php');
//include_once('js/script.js');

if(isset($_POST) && count($_POST) > 0){
	$_SESSION['carrinho']['items'][$_POST['id']] = $_POST;
}
?>
<?php

	
?>
<!DOCTYPE html>
<html lang="pt-BR">
	<head>
		<meta charset="utf-8">
		<title>Dominius • Pedidos</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta name="description" content="Projeto Piloto de Pedidos">
		<meta name="author" content="Lidiane N. Lasta & Cassius R. Spengler">

		<!-- CSS -->
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
		<link href="css/custom.css" rel="stylesheet">

		<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
		  <script src="js/html5shiv.js"></script>
		<![endif]-->

		<!-- Fav and touch icons -->
		<link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/apple-touch-icon-144-precomposed.png">
		<link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/apple-touch-icon-114-precomposed.png">
		<link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/apple-touch-icon-72-precomposed.png">
		<link rel="apple-touch-icon-precomposed" href="ico/apple-touch-icon-57-precomposed.png">
		<link rel="shortcut icon" href="ico/favicon.ico">

	</head>

	<body>
		<!-- Part 1: Wrap all page content here -->
		<div id="wrap">

			<!-- Fixed navbar -->
			<div class="navbar navbar-fixed-top">
				<div class="navbar-inner">
					<div class="container">
						<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
						</button>
						<a class="brand" href="#">Pedidos</a>
						<div class="nav-collapse collapse">
							<ul class="nav">
								<li><a href="index.php"><i class="icon-home"></i> Home</a></li>
								<li><a href="produtos.php"><i class="icon-barcode"></i> Produtos</a></li>
								<li class="active"><a href="carrinho.php"><i class="icon-shopping-cart"></i> Carrinho</a></li>
								<li><a href="cadastros.php"><i class="icon-edit"></i> Cadastro</a></li>
								<li class="dropdown">
									<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contato <b class="caret"></b></a>
									<ul class="dropdown-menu">
										<li><a href="#">LayOut de exemplo</a></li>
										<li><a href="#">,</a></li>
										<li><a href="#"><i class="icon-globe"></i> http://www.dominius.com.br</a></li>
									</ul>
								</li>
								<li><button id="sair" class="btn btn-danger" type="button">Sair</button></li>
							</ul>
						</div><!--/.nav-collapse -->
					</div>
				</div>
			</div>

			<!-- Begin page content -->
			<div class="container">
				<div class="page-header">
					<h1>Itens de Pedido</h1>
				</div>
				<p class="lead">Pedido</p>


	<div class="row-fluid">
		<table class="table table-striped table-hover">
			<thead>
				<th>Código</th>
				<th>Quantidade</th>
				<th>Produto</th>
				<th>Valor</th>
				<th>Desconto</th>
				<th>Total</th>	
				<th>Excluir</th>						
			</thead>
			
			<tbody>
				<?php
					$subtotal = 0;
					if(isset($_SESSION['carrinho']['items'])) {
						foreach ($_SESSION['carrinho']['items'] as $item) {
				?>

				<tr>
					<td><?php echo $item['id']; ?></td>
					<td><?php echo $item['quantidade']; ?></td>
					<td><?php echo $item['nome']; ?></td>
					<td><?php echo $item['preco']; ?></td>
					<td><?php echo $item['desconto']; ?></td>
					<td><?php echo $item['preco_final']; ?></td>
					<td><a href="carrinho.php" action="">Excluir</a></td> <!-- LINK PARA EXCLUIR -->
				</tr>
					<?php
						$subtotal += $item['preco_final'];
						}
					}
					?>	
			</tbody>
		</table>
					<?php 
						$_SESSION['carrinho']['subtotal'] = $subtotal;
						echo $subtotal; 
					?><br />

					<form action="sucesso.php" method="POST">
						<input class="btn" type="submit" value="Enviar">
					</form>
				</div>
			</div>
		</div>

		<!-- Le javascript
		=============================================================== -->
		<!-- Placed at the end of the document so the pages load faster -->
		<script src="js/vendor/jquery-1.10.1.js"></script>
		<script src="js/vendor/bootstrap.js"></script>
		<script src="js/vendor/modernizr-latest.js"></script>
		<script src="js/plugins.js"></script>
		<script src="js/main.js"></script>
	</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem nenhum unset() no seu código.

 

Eu sei que não tem, eu tirei pq não funcionou.

Testei vários métodos, então resolvi deixar sem nenhum, pois não sabia qual era o mais correto :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é o código que inclui os itens no carrinho??

 

É via post. O form começa na linha 163.

 

<script type="text/javascript">
function calcValor(){
  // zerando total
  document.getElementById("preco_final").value = '0';
  //quantidade
  var QUANTIDADE = parseFloat(document.getElementById("quantidade").value);
  // Preço do produto
  var PRECO = parseFloat(document.getElementById("preco").value);
    // Porcentagem do desconto
  var PORCENTAGEM = parseFloat(document.getElementById("desconto").value);

  var PRECOQUANT =parseFloat(QUANTIDADE*PRECO)
  
  var VDESCONTO = parseFloat(PRECOQUANT*(PORCENTAGEM/100));

 
  var TOTAL = parseFloat(PRECOQUANT) - parseFloat(VDESCONTO);

  //document.getElementById("preco_final").value = 'R$ ' + TOTAL.toFixed(2);
  document.getElementById("preco_final").value = TOTAL.toFixed(2);
}	
</script>
<script type="text/javascript">
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}
function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}
function float(v){
    v=v.replace(",",".")
	return v;
}
</script>


<?php
include_once('includes/session.php');
include_once('includes/conn.php');
include_once('includes/funcoes.php');
$id_produto = $_REQUEST['p'];

$produto = get('produtos',$id_produto);

?>
<!DOCTYPE html>
<html lang="pt-BR">
	<head>
		<meta charset="utf-8">
		<title>Dominius • Produtos</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta name="description" content="Projeto Piloto de Pedidos">
		<meta name="author" content="">

	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
	<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
		$('#ajax_form').validate({
			rules: {
				nome: { required: true, minlength: 2 },
				email: { required: true, email: true },
				telefone: { required: true }
			},
			messages: {
				quantidade: { required: 'Preencha o campo QUANTIDADE', minlength: 'No mínimo 1 caractere.' },
				desconto: { required: 'Preencha o campo DESCONTO', minlength: 'No mínimo 1 caractere.' }
 
			},
			submitHandler: function( form ){
				var dados = $( form ).serialize();
 
				$.ajax({
					type: "POST",
					url: "carrinho.php",
					data: dados,
					success: function( data )
					{
						alert( data );
					}
				});
 
				return false;
			}
		});
	});
	</script>

		<!-- CSS -->
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
		<link href="css/custom.css" rel="stylesheet">

		<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
		  <script src="js/html5shiv.js"></script>
		<![endif]-->

		<!-- Fav and touch icons -->
		<link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/apple-touch-icon-144-precomposed.png">
		<link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/apple-touch-icon-114-precomposed.png">
		<link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/apple-touch-icon-72-precomposed.png">
		<link rel="apple-touch-icon-precomposed" href="ico/apple-touch-icon-57-precomposed.png">
		<link rel="shortcut icon" href="ico/favicon.ico">
	</head>

	<body>
		<!-- Part 1: Wrap all page content here -->
		<div id="wrap">

			<!-- Fixed navbar -->
			<div class="navbar navbar-fixed-top">
				<div class="navbar-inner">
					<div class="container">
						<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
						</button>
						<a class="brand" href="#">Pedidos</a>
						<div class="nav-collapse collapse">
							<ul class="nav">
								<li><a href="index.php"><i class="icon-home"></i> Home</a></li>
								<li><a href="produtos.php"><i class="icon-barcode"></i> Produtos</a></li>
								<li><a href="carrinho.php"><i class="icon-shopping-cart"></i> Carrinho</a></li>
								<li><a href="cadastros.php"><i class="icon-edit"></i> Cadastro</a></li>
								<li class="dropdown">
									<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contato <b class="caret"></b></a>
									<ul class="dropdown-menu">
										<li><a href="#">LayOut de exemplo</a></li>
										<li><a href="#">Dominius Informática</a></li>
										<li><a href="http://www.dominius.com.br"><i class="icon-globe"></i> http://www.dominius.com.br</a></li>
									</ul>
								</li>
								<li><button id="sair" class="btn btn-danger" type="button">Sair</button></li>
							</ul>
						</div><!--/.nav-collapse -->
					</div>
				</div>
			</div>

	<!-- Begin page content -->
		<div class="container">
			<div class="page-header">
				<h1><?php echo $produto['pro_nome']; ?></h1>
				<?php
					if(isset($_SESSION['carrinho'][$id_produto]))
						echo 'Item já incluso no carrinho!';
				?>
		</div>
			<p class="lead">Texto sobre características do Produto <?php echo $id_produto; ?></p>
			<div class="row-fluid">
				<div class="span3">
					<img src="imagens/imagem_<?php echo $id_produto; ?>.jpg" class="img-polaroid shadow">
				</div>

				<div class="span9">
					<?php echo nl2br($produto['pro_descricao']); ?>
					<p> </p>

					<form class="form-horizontal" action="carrinho.php" method="POST">
						<legend>Adicionar ao Pedido</legend>
						<div class="control-group">
							<input type="hidden" name="id" value="<?php echo $id_produto; ?>" />
							<input type="hidden" name="nome" value="<?php echo $produto['pro_nome']; ?>" />

							<label class="control-label" for="quantidade">Quantidade *</label>
							<div class="controls">
								<input type="number" id="quantidade" name="quantidade" placeholder="00" class="text-right" title="quantidade">
							</div>
						</div>

						<div class="control-group">
							<label class="control-label" for="preco">Preço</label>
							<div class="controls">
								<input type="text" id="preco" name="preco" value="<?php echo $produto['pro_valor']; ?>" placeholder="0,00" class="text-right" readonly>
							</div>
						</div>

						<div class="control-group">
							<label class="control-label" for="desconto">Desconto (%) </label>
							<div class="controls">
								<input type="number" id="desconto" name="desconto" placeholder="00" class="text-right" title="Desconto (%)" onchange="calcValor()">
							</div>
						</div>

						<div class="control-group">
							<label class="control-label" for="preco_final">Preço Final</label>
							<div class="controls">
								<input type="text" id="preco_final" name="preco_final" placeholder="0,00" class="text-right" readonly>
							</div>
						</div>

						<div class="control-group">
							<div class="controls">
								<button type="submit" class="btn" <?php echo (isset($_SESSION['carrinho'][$id_produto]))? 'onclick="return confirm(\'Deseja alterar este item no carrinho?\');"':''; ?>>Incluir</button>
							</div>
						</div>
						
						</form>

					</div>
				</div>

				<!-- Le javascript
				================================================== -->
				<!-- Placed at the end of the document so the pages load faster -->
				<script src="js/vendor/jquery-1.10.1.js"></script>
				<script src="js/vendor/bootstrap.js"></script>
				<script src="js/vendor/modernizr-latest.js"></script>
				<script src="js/plugins.js"></script>
				<script src="js/main.js"></script>
				</body>
				</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta Assim: :thumbsup:

 

<?php
include_once('includes/session.php');
include_once('includes/conn.php');
include_once('includes/funcoes.php');
//include_once('js/script.js');
 
if(isset($_POST) && count($_POST) > 0){
	$_SESSION['carrinho']['items'][$_POST['id']] = $_POST;
}elseif(isset($_GET['del'])){
	$id = $_GET['del'];
	unset($_SESSION['carrinho']['items'][$id]);
}
?>
<?php
 
	
?>
<!DOCTYPE html>
<html lang="pt-BR">
	<head>
		<meta charset="utf-8">
		<title>Dominius • Pedidos</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta name="description" content="Projeto Piloto de Pedidos">
		<meta name="author" content="Lidiane N. Lasta & Cassius R. Spengler">
 
		<!-- CSS -->
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
		<link href="css/custom.css" rel="stylesheet">
 
		<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
		  <script src="js/html5shiv.js"></script>
		<![endif]-->
 
		<!-- Fav and touch icons -->
		<link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/apple-touch-icon-144-precomposed.png">
		<link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/apple-touch-icon-114-precomposed.png">
		<link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/apple-touch-icon-72-precomposed.png">
		<link rel="apple-touch-icon-precomposed" href="ico/apple-touch-icon-57-precomposed.png">
		<link rel="shortcut icon" href="ico/favicon.ico">
 
	</head>
 
	<body>
		<!-- Part 1: Wrap all page content here -->
		<div id="wrap">
 
			<!-- Fixed navbar -->
			<div class="navbar navbar-fixed-top">
				<div class="navbar-inner">
					<div class="container">
						<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
							<span class="icon-bar"></span>
						</button>
						<a class="brand" href="#">Pedidos</a>
						<div class="nav-collapse collapse">
							<ul class="nav">
								<li><a href="index.php"><i class="icon-home"></i> Home</a></li>
								<li><a href="produtos.php"><i class="icon-barcode"></i> Produtos</a></li>
								<li class="active"><a href="carrinho.php"><i class="icon-shopping-cart"></i> Carrinho</a></li>
								<li><a href="cadastros.php"><i class="icon-edit"></i> Cadastro</a></li>
								<li class="dropdown">
									<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contato <b class="caret"></b></a>
									<ul class="dropdown-menu">
										<li><a href="#">LayOut de exemplo</a></li>
										<li><a href="#">,</a></li>
										<li><a href="#"><i class="icon-globe"></i> http://www.dominius.com.br</a></li>
									</ul>
								</li>
								<li><button id="sair" class="btn btn-danger" type="button">Sair</button></li>
							</ul>
						</div><!--/.nav-collapse -->
					</div>
				</div>
			</div>
 
			<!-- Begin page content -->
			<div class="container">
				<div class="page-header">
					<h1>Itens de Pedido</h1>
				</div>
				<p class="lead">Pedido</p>
 
 
	<div class="row-fluid">
		<table class="table table-striped table-hover">
			<thead>
				<th>Código</th>
				<th>Quantidade</th>
				<th>Produto</th>
				<th>Valor</th>
				<th>Desconto</th>
				<th>Total</th>	
				<th>Excluir</th>						
			</thead>
			
			<tbody>
				<?php
					$subtotal = 0;
					if(isset($_SESSION['carrinho']['items'])) {
						foreach ($_SESSION['carrinho']['items'] as $item) {
				?>
 
				<tr id="<?php echo $item['id']; ?>">
					<td><?php echo $item['id']; ?></td>
					<td><?php echo $item['quantidade']; ?></td>
					<td><?php echo $item['nome']; ?></td>
					<td><?php echo $item['preco']; ?></td>
					<td><?php echo $item['desconto']; ?></td>
					<td><?php echo $item['preco_final']; ?></td>
					<td><a href="?del=<?php echo $item['id']; ?>" id="">Excluir</a></td> <!-- LINK PARA EXCLUIR -->
				</tr>
					<?php
						$subtotal += $item['preco_final'];
						}
					}
					?>	
			</tbody>
		</table>
					<?php 
						$_SESSION['carrinho']['subtotal'] = $subtotal;
						echo $subtotal; 
					?><br />
 
					<form action="sucesso.php" method="POST">
						<input class="btn" type="submit" value="Enviar">
					</form>
				</div>
			</div>
		</div>
 		<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        
		<!-- Le javascript
		=============================================================== -->
		<!-- Placed at the end of the document so the pages load faster -->
		<script src="js/vendor/jquery-1.10.1.js"></script>
		<script src="js/vendor/bootstrap.js"></script>
		<script src="js/vendor/modernizr-latest.js"></script>
		<script src="js/plugins.js"></script>
		<script src="js/main.js"></script>
	</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.