Botão atualizar retorna o preço inicial.

1. Botão atualizar retorna o preço inicial.

clayton campos rosa
x-gyba

(usa Sabayon)

Enviado em 01/02/2016 - 17:48h

Boa tarde estou com problemas no carrinho de compras , que faz o calculo normalmente, mas se der refresh na pagina ele volta ao preco inicial.
Este é o Javascript : $(document).ready(function (e) {
$('input').change(function (e) {
id = $(this).attr('rel');
$index = this.value;
$preco = $('font#preco'+id).html().replace("R$ ",'');
console.log($preco);
$val = ($preco*$index).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');;
$('font#sub'+id).html('R$ '+$val);
});
});
e este é o carrinho: <?php
include(dirname(__FILE__) . './funcao/conecta.php');

session_start();

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");
}
}
//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&#65533;o come&#65533;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 PUBLIC "~//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv = "content-type" content = "text/html; charset = utf8"/>
<meta name = "viewport" content = "width = device-width,initial-scale = 1.0">
<title>Seja Bem Vindo !</title>
</head>
<link rel = "stylesheet" type = "text/css" href = "css/default.css"/>
<body onkeydown="return (event.keyCode == 154)">
<head>
<br>
<div align = "center"><h4>Suas compras efetuadas:</h4>
<br>
<form action = "shop.php?acao= 'up' 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/paypal.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'];
$preco = $linha['preco'];
$linha['preco'] = str_replace(",",".",$linha['preco']);
$sub = number_format($linha['preco'] * $qtd, 2, ',', '.');
$total += $preco;
echo '<tr>';
echo '<td><img src = "' . $foto . ' " width = "120px"</td>';
echo '<td><strong><font size="4" color="yellow">'.$nome.'</td>';
echo '<td><strong><font size="4" color="yellow">'.$descricao.'</td>';
echo '<td><strong><font size="4" color="yellow">'.$tamanho.'</td>';
echo '<td><strong><font size="4" color="yellow">'.$cor.'</td>';
echo '<td><strong><font size="4" color="yellow">R$ '.$preco.'</td>';
echo'<td align = "center"><strong><font size="3" color="yellow"><input type="text" size ="1" style="font-family: Tahoma; font-size: 20px;align = "center" name="prod['.$id.']" value="'.$qtd.'"/></td>';
echo '<div id="total" ><td><strong><font size="5" color="yellow">R$ '.$sub.'</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>';
}
}
?>
O que fazer para o preço continuar , após o refresh, ou se tem como impedir isso.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts