Ir para conteúdo
Fórum Script Brasil
  • 0

Botão atualizar retorna preço inicial


Clayton

Pergunta

O carrinho faz os calculos direitinho, mas se há um refresh (botao atualizar do navegador) , ele volta pro preço inicial (de 1 quantidade) como impedir isso, ou redirecionar a página para que isso não aconteça. eis o codigo:

<?php
session_start();
include(dirname(__FILE__) . './funcao/conecta.php');

if (!isset($_SESSION['shop'])) {
    $_SESSION['shop'] = array();
}

//adiciona produto

if (isset($_GET['acao'])) {
    $id = intval($_GET['id']);
    if (!isset($_SESSION['shop'][$id])) {
        $_SESSION['shop'][$id] = 1;
    } else {
        $_SESSION['shop'][$id] += 1;
    }
    header('Location: shop.php');  // assim as variáveis serão removidas da url, depois da sessão já gravada.
}
//subtrari produto do cesto
if (isset($_GET['acao'])) {
    if ($_GET['acao'] == 'sub') {
        $id = intval($_GET['id']);
        if (!isset($_SESSION['shop'][$id])) {
            $_SESSION['shop'][$id] = 1;
        } else {
            $_SESSION['shop'][$id] -= 1;
        }if ($_SESSION['shop'][$id] == 0) {
            unset($_SESSION['shop'][$id]);
        }
    }
}

//remove produto do cesto
if (isset($_GET['acao'])) {
    if ($_GET['acao'] == 'del') {
        $id = intval($_GET['id']);
        if (isset($_SESSION['shop'][$id])) {
            unset($_SESSION['shop'][$id]);
        }
    }
}
//altera a quantidade de produtos
//Se existir $_POST['prod'] ent�o come�a..
if (isset($_POST['prod']))
    if ($_GET['acao'] == 'atualizar') {

        if (is_array($_POST['prod'])) {
            foreach ($_POST['prod'] as $id => $qtd) {
                $id = intval($id);
                $qtd = intval($qtd);
                if (!empty($qtd) || $qtd <> 0) {
                    $_SESSION['shop'][$id] = $qtd;
                } else {
                    unset($_SESSION['shop'][$id]);
                }
            }
        }
    }
?>
<!doctype html>
<html lang='pt-br'>
    <head>
        <meta charset = 'utf8'>
        <meta name = "viewport" content = "width = device-width,initial-scale = 1.0">
        <title>Seja Bem Vindo !</title>
        <link rel = "stylesheet" type = "text/css" href = "css/default.css">
        <body onkeydown="return (event.keyCode == 154)">
        <script src="js/jquery-2.0.0.js" type="text/javascript"></script>
        <script src="js/shop.js" type="text/javascript"></script>
        </head>
        <script>
        <script language=javascript>
        document.onkeydown = function () {
          switch (event.keyCode) {
            case 116 :
               event.returnValue = false;
               event.keyCode = 0;
               return false;
             case 82 :
               if (event.ctrlKey) {
                  event.returnValue = false;
                 event.keyCode = 0;
                 return false;
          }
        }
    }
    </script>
        </script>
        <br>
        <div align = "center"><h4>Suas compras efetuadas:</h4>
        <br>
<form action = "shop.php?acao= 'atualizar' method = "post">
<table border = "3"  color = width = "100%">
<tr>
<td width = "10%"><strong><font size="5" color="violet">FOTO</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">NOME</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">DESCRIÇÃO</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">TAMANHO</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">COR</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">PREÇO</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">QUANTIDADE</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">SUBTOTAL</strong></font></td>
<td width = "10%"><strong><font size="5" color="violet">REMOVER</strong></font></td>
</tr>
</thead>
</br>
<form action="?acao=atualizar" method="post">
<tfoot>
<tr>
<td colspan="9"><input type="submit" size = "5" value="atualizar" /></td>
<tr>
<td colspan="9"><a href="./index.php"><strong><font size="4" color="violet">Continuar Comprando</a></td>
<tr>
<tr>
<td colspan="9"><a href="./funcao/expresscheckout.php"><strong><font size="4" color="violet"><img src="imagens/paypal.png" align="left" style="margin-right:7px;"></a></td>
</tfoot>
<tbody>


  <?php
  $total = 0;
  if(count($_SESSION['shop']) == 0){
  echo '<tr><td align = "center" colspan="9"><strong><font size="6" color="yellow">Não existem produtos em seu cesto de compras !</td></tr>';
  }else{
  $conn = conecta();
  foreach ($_SESSION['shop'] as $id => $qtd) {
                             $cart = $conn->prepare("SELECT * FROM produtos WHERE  id=$id");
                             $cart->setFetchMode(PDO::FETCH_ASSOC);
                             $cart->execute();
                             while ($linha = $cart->fetch()) {
                                   $foto = $linha['foto'];
                                   $nome = $linha['nome'];
                                   $descricao = $linha['descricao'];
                                   $tamanho = $linha['tamanho'];
                                   $cor = $linha['cor'];
                                   $preço = $linha['preço'];
                                   $linha['preço'] = str_replace(",",".",$linha['preço']);
                                   $sub = number_format($linha['preço'] * $qtd, 2, ',', '.');
                                   $total += $preço;
                                   echo '<tr>';
        echo '<td><img src = "' . $foto . ' " width = "120px"</td>';
        echo '<td>'.$nome.'</td>';
        echo '<td>'.$descricao.'</td>';
        echo '<td>'.$tamanho.'</td>';
        echo '<td>'.$cor.'</td>';
        echo' <td><strong><font size="4" color="yellow" id="preço'.$linha['id'].'">R$ ' . $preço . '</font></strong></td>';
        echo'<td><input rel="'.$linha['id'].'" type="number" step="1" min="1" style="width:50px; font-family: Tahoma; font-size: 20px;" name="prod[' . $id . ']" value="' . $qtd . '"></td>';
        echo '<td><div id="total" ><strong><font size="5" color="yellow" id="sub'.$linha['id'].'">R$ ' . $sub . '</font></strong></div></td>';
        echo '<td align = "center" colspan = "9"><a href="?acao=del&id='.$id.'"><img src="./imagens/remover.png" width="70" height="70" ></td>';
        echo '</tr>';
}
echo '<tr>';
}
}
?>

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...