Ir para conteúdo

POWERED BY:

Arquivado

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

Fagner

Problema com SESSION

Recommended Posts

estou montando um sistema simples de orçamento On Line porém na hora de fazer a somatoria dos itens adicionados a sessao na primeira vez beleza. mas algo esta acontecendo que qdo abro a o popup para imprimir o orçamento ele esta pegando o valor final da session e somando ela novamente.

== CODIGO QUE GRAVA ITENS E GERA SESSION ==

<?phpsession_start();  $itemx    = $_GET['item'];   	 $produtox = $_GET['produto'];  $qtdx     = $_GET['qtd'];  $precox   = $_GET['preco'];	  $op       = $_GET['op']; 	 if(!isset($_SESSION['total'])){   $_SESSION['total'] = 0;}if(isset($op) && $op == "ins"){   $_SESSION["item[" . $_SESSION['total'] . "]"]     = $item;   $_SESSION["produto[" . $_SESSION['total'] . "]"]  = $produto;   $_SESSION["preco[" . $_SESSION['total'] . "]"]    = $preco;   $_SESSION["qtd[" . $_SESSION['total'] . "]"]      = $qtde;   $_SESSION['total']++;   echo "<html><body background=\"img/fundo_compra.jpg\"><p> </p><p> </p><p align='center'><font face='verdana' size='2' color=\"#FFFFFF\">Compra Efetuada com Sucesso!</font></p></body></html>"; ?><script language="javascript">    function closeWindow(){ window.close(); } opener.lista.location = 'lista.php'; setTimeout('closeWindow()', 900);</script><? exit;  } ?>

== CODIGO QUE LISTA MEU ORÇAMENTO ==

for($i=0; $i<$_SESSION['total']; $i++)   {    if ($_SESSION["produto[$i]"] != '')      {       $vlrtot = $_SESSION["qtd[$i]"]*$_SESSION["preco[$i]"]; 	        $final  = $final + $vlrtot;     }   }        $tudo = "<td bgcolor=\"#CCCCCC\"><font size='1' face='Verdana' >".number_format($final, 2, ',', ' ')."</font></td></tr><br>";
Esse orçamento quando é aberto pega o valor final e dobra ele, exemplo adicionei no orçamento uma peça no valor de 50,00, quando mando abrir a tela para eu ver meu orçamento ele aparece ao inves de 50,00 reais , 100,00 reais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inicialize as variáveis de total ou acumulado antes dos loops. Por exemplo, no segundo script você usa a variável final para acumular o total, antes do FOR zere esta variável.Analise seu codigo e veja se não tem outra variável que necessite do mesmo tratamento.Se não der certo diga qual o nome da variável que está dobrando.

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.