Fagner 1 Denunciar post Postado Dezembro 10, 2004 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
walace 1 Denunciar post Postado Dezembro 10, 2004 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