Ir para conteúdo

POWERED BY:

Arquivado

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

formigoni

[Resolvido] Atualizar sem perder id do cliente

Recommended Posts

Olá, boa tarde pessoal do fórum.

Estou fazendo um site de orçamento e me deparei com um problema.

 

Ao logar no site o usuário escolhe um cliente que está relacionado a ele, por um POST eu pego o id do cliente e faço isso na minha página onde tenho um carrinho de compra:

 

$_SESSION['id_cliente'] = $_POST['id_cliente'];

ai faço um SELECT para pegar os dados do cliente com esse id que tenho porque preciso dos dados do mesmo até o fechamento do orçamento e ei que surge o problema.

 

Ao alterar a quantidade de produto ou se excluo algum ítem eu perco a referência do cliente.

 

Faço isso ao atualizar e/ou excluir:

<input name="btn_atualiza" type="image" onClick="enviar('A');" src="imagens/atualiza.gif" alt="Atualiza Valores" width="25" height="25">

Isso passa a um scritp o parâmetro, vejam:

 

function enviar(opcao) {
	  //OPÇÃO EXCLUIR SELECIONADA
	  if(opcao == 'E') {
		 document.frmCarrinho.opc_excluir.value = 1;
		 document.frmCarrinho.submit();
	  }//FECHA IF
	  
	  //OPÇÃO ATUALIZAR SELECIONADA
	  if(opcao == 'A') {
		 document.frmCarrinho.opc_atualizar.value = 1;
		 document.frmCarrinho.submit();
	  }//FECHA IF
	  
	  //OPÇÃO FRETE
	  if(opcao == 'F') {
		 document.frmCarrinho.opc_frete.value = 1;
		 document.frmCarrinho.submit();
	  }//FECHA IF
	  
   }//FECHA FUNCTION

Ai no corpo da página tenho isso:

 

//verifica se a opção atualizar foi selecionada
if($_POST[opc_atualizar]) {
   
   // recebe os produtos
   $atualiza = $_POST[a_prod];
   
   // pega a chave do array
   $chave = array_keys($atualiza);
   
   // exibe
   for($i=0; $i<sizeof($chave); $i++) {
	  // pega o índice do produto
	  $indice = $chave[$i];

	  // altera a quantidade do produto selecionado
	  $_SESSION[cesta][$indice][QTDE] = $atualiza[$indice][QTDE];

   }// fecha for
header("Location:carrinho.php");
}// fecha if

Ao atualizar perco a referência do cliente, tem como isso não acontecer?

Estou batendo a cabeça com isso e gostaria de uma dica e desculpem pela extensão do post.

 

Valeu e fiquem na paz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha... não vi esta parte do teu código, mas o que deve estar acontecendo é o seguinte. Quando existe o $_POST['id_cliente'] o sistema coloca este valor na SESSION. Quando não foi postado nada, ele coloca como vazio (que é o valor de $_POST['id_cliente']).

 

Para corrigir, sugiro mais ou menos assim

if (!empty($_POST['id_cliente'])) $_SESSION['id_cliente'] = $_POST['id_cliente'];

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, bom dia Matias.

 

Obrigado por ter respondido, andei dando uma olhada na dica que você me passou e funcionou.

Muito obrigado e fica na paz.

 

Valter

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.