Ir para conteúdo

POWERED BY:

Arquivado

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

Freiberger

Apagar um item da SESSION

Recommended Posts

pessoal é o seguintetenho a seguinte sessão $_SESSION["contador"]=$_SESSION["contador"]+1; $_SESSION["carrinho"][$_SESSION["contador"]]["id_produto"] = $_POST["id_produto"]; $_SESSION["carrinho"][$_SESSION["contador"]]["quantidade"] = 1; $_SESSION["carrinho"][$_SESSION["contador"]]["id_tipo"] = $_POST["id_tipo"];como faço para apagar um unico indice dessa sessão?Não estou conseguindo, tentei o comando unset, mas nao consegui.O que me sugerem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dê nomes a cada item, aí sim o comando unset funcionará.$variavel1 = $_SESSION["contador"]=$_SESSION["contador"]+1;$variavel2 = $_SESSION["carrinho"][$_SESSION["contador"]]["id_produto"] = $_POST["id_produto"];unset $variavel1;

Não funcionou mesmo assim...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sempre utilizo o comando unset e nunca deu problema algum. Poste como você está fazendo para vermos se existe erro de sintaxe, por favor.Eu utilizo assim:unset($_SESSION['NomeDaSession']);

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já tento com for()??

 

veja com eu utilizo

//RECEBE OS PRODUTOS CHECADOS PARA EXCLUSÃO   $excluir  =  $_POST[check];      //EXIBE   for($i=0; $i<sizeof($excluir); $i++) {	  //PEGA O INDICE DO PRODUTO	  $indice   =   $excluir[$i];	  //DESTRÓI A VARIÁVEL ESPECIFICADA	  unset($_SESSION[cesta][$indice]);   }//FECHA FOR

campo check box

<input name="check[]" type="checkbox" class="verdana10preto" value="<? echo $indice; ?>">

espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sempre utilizo o comando unset e nunca deu problema algum. Poste como você está fazendo para vermos se existe erro de sintaxe, por favor.Eu utilizo assim:unset($_SESSION['NomeDaSession']);

esse codigo fica no compra_setup.php $_SESSION["contador"]=$_SESSION["contador"]+1; $_SESSION["carrinho"][$_SESSION["contador"]]["id_produto"] = $_POST["id_produto"]; $_SESSION["carrinho"][$_SESSION["contador"]]["quantidade"] = 1; $_SESSION["carrinho"][$_SESSION["contador"]]["id_tipo"] = $_POST["id_tipo"]; <? $i = 1; while($i <= $_SESSION["contador"]) { //Seleciona o Titulo $sql2 = "select id_produto, titulo from produto where id_produto = ".$_SESSION["carrinho"][$i]["id_produto"]; $sql_produto = mysql_query($sql2); $row2 = mysql_fetch_array($sql_produto); //Seleciona o Titulo $sql = "select id_produto, titulo, duracao, foto, sinopse from produto where id_produto = ".$_SESSION["carrinho"][$i]["id_produto"]; $sql_produto = mysql_query($sql); $row = mysql_fetch_array($sql_produto); //seleciona o valor $sql4 = "select id_tipo, valor from tipo where id_tipo = ".$_SESSION["carrinho"][$i]["id_tipo"]; $sql_valor = mysql_query($sql4); $row4 = mysql_fetch_array($sql_valor);?> <table width="490" border="0" cellspacing="3" cellpadding="0" class="texto_geral"> <tr> <td width="114"> <? echo "<img src='imgs_produtos/{$row[foto]}' />"; ?> </td> <td width="367" valign="top"> <? echo "Título: ".$row["titulo"];?><br><br> <? echo "Duração: ".$row["duracao"];?><br><br> <? echo "Valor R$: ".$row4["valor"];?><br /> </td> <td width="114" align="center"> <? echo "<a href='index.php?pg=compra_excluir&id_produto={$_SESSION["carrinho"][$i]}'>"; ?> <? echo "<img src='imgs/remover_item.gif' />"; ?> <br /> <? echo "Remover Item"; ?> </td> <td width="367" valign="top"> </tr> <tr> <td colspan="3" align="center"> <p align="right"> </p></td> </tr> </table> <? $i++; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é um carrinho de compras, certo?Bem, não sei se entendi direito... você quer apagar um único índice... mas o que você chama de índice seria, por exemplo:$_SESSION["carrinho"][$_SESSION["contador"]]["id_produto"] = $_POST["id_produto"];ou apenas:[$_SESSION["contador"]] ???Por exemplo, você quer procurar no BD pelo carrinho 25, contador 5, id 10023. Logo, deveria ficar:25510023. É essa sua intenção?O que não estou entendendo é como você está tentando utilizar essas variáveis de sessão, uma atrás da outra... Ao meu ver, elas deveriam estar armazenadas em outra variável de sessão, ou em uma variável qualquer (para melhor legibilidade), mas elas estão uma após a outra, e todas equivalem à variável que veio através de um formulário ( $_POST["id_produto"] ).Eu gostaria apenas que você esclarecesse melhor como você pretende fazer essa pesquisa no BD.Aguardamos seu post... :-)

Compartilhar este post


Link para o post
Compartilhar em outros sites

é eu nao me expressei bem, bom, vou mostrar, todos os códigos que tenho, sobre o carrinho, vamos ver se tu me entende melhor.

 

O problema é que eu nao entendi muito bem como funciona as SESSOES por isso nao estou conseguindo explicar, bom eu tenho o seguinte

 

 

 

compra_form.php -> mostra a foto, o titulo, a duração e o valor do produto, e tem o botão "efetuar aluguel"

quando é clicado em efetuar aluguel, ele executa o código do compra_setup.php, este grava os dados na sessão e mostra eles no arquivo compra_carrinho.php -> nesse tem o botão, remover item, que é para excluir apenas um produto do carrinho, e é isso que eu nao consigo, segue abaixo os códigos de cada arquivo

 

compra_form.php

<?  $id_produto = $_GET['id_produto'];  $id_tipo = $_GET['id_tipo'];  //Seleciona o Titulo  $sql = "select id_produto, titulo, duracao, foto, sinopse		  from produto		  where id_produto = ".$id_produto;  $sql_produto = mysql_query($sql);  $row = mysql_fetch_array($sql_produto);	  //Seleciona o Valor  $sql2 = "select id_tipo, valor			 from tipo		   where id_tipo = ".$id_tipo;  $sql_tipo = mysql_query($sql2);  $row2 = mysql_fetch_array($sql_tipo);  $valor_ = $row2["valor"];?><form name="frm_compra" method="post" action="compra_setup.php">  <table width="490" border="0" cellspacing="3" cellpadding="0" class="texto_geral">	<tr>	  <td width="114">		  <? echo "<img src='imgs_produtos/{$row[foto]}' />"; ?>	  </td>	  <td width="367" valign="top">		  <span class="destaques"><? echo "Título: ".$row["titulo"]."<br><br> Duração: ".$row["duracao"];?><? echo "<br><br> Valor R$: ".$row2["valor"];?><br /><br /><br /><br /><br /><input name='comprar' type='submit' value='  Efetuar Aluguel  '></span>	  </td>   </tr>	<tr> 	  <td colspan="3" align="center"> <p align="right">		  <input name="id_produto" type="hidden" value="<? echo $_GET['id_produto'];?>">		  <input name="id_tipo" type="hidden" value="<? echo $_GET['id_tipo'];?>" />	  </p></td>	</tr>  </table></form>

compra_setup.php

<?  include_once '_config.php';      $_SESSION["contador"]=$_SESSION["contador"]+1;  $_SESSION["carrinho"][$_SESSION["contador"]]["id_produto"] = $_POST["id_produto"];  $_SESSION["carrinho"][$_SESSION["contador"]]["quantidade"] = 1;  $_SESSION["carrinho"][$_SESSION["contador"]]["id_tipo"] = $_POST["id_tipo"];      echo"<script language=javascript>location.href='index.php?pg=compra_carrinho'</script>";?>

compra_carrinho.php

<?php  include_once '_config.php';  include_once 'index_inicio.php';?>		  <img src="imgs/carrinho_selecionados.jpg" width="803" height="18" />   	<span class="destaques"><?		$i = 1;	while($i <= $_SESSION["contador"]) {				//Seleciona o Titulo		$sql2 = "select id_produto, titulo			 from produto		   where id_produto = ".$_SESSION["carrinho"][$i]["id_produto"];   		$sql_produto = mysql_query($sql2);		  $row2 = mysql_fetch_array($sql_produto); 				//Seleciona o Titulo		  $sql = "select id_produto, titulo, duracao, foto, sinopse		  from produto		  where id_produto = ".$_SESSION["carrinho"][$i]["id_produto"];		  $sql_produto = mysql_query($sql);		  $row = mysql_fetch_array($sql_produto);				//seleciona o valor		$sql4 = "select id_tipo, valor 		from tipo 		where id_tipo = ".$_SESSION["carrinho"][$i]["id_tipo"];		$sql_valor = mysql_query($sql4);		  $row4 = mysql_fetch_array($sql_valor);?>		  <table width="490" border="0" cellspacing="3" cellpadding="0" class="texto_geral">	<tr>	  <td width="114">		  <? echo "<img src='imgs_produtos/{$row[foto]}' />"; ?>	  </td>	  <td width="367" valign="top">		  <? echo "Título: ".$row["titulo"];?><br><br> 		  <? echo "Duração: ".$row["duracao"];?><br><br>		  <? echo "Valor R$: ".$row4["valor"];?><br />	  </td>   	  <td width="114" align="center">		 		 <? echo "<a href='index.php?pg=compra_excluir&id_produto={$_SESSION["carrinho"][$i]}'>"; ?>		 <? echo "<img src='imgs/remover_item.gif' />"; ?> <br />	 	 <? echo "Remover Item"; ?>	 </td>	  <td width="367" valign="top">   </tr>	<tr> 	  <td colspan="3" align="center"> <p align="right">	  </p></td>	</tr>  </table>	<?								$i++;	  } 	  	include_once 'index_fim.php';?>

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.