Product quantity increasing as you update the page

Asked

Viewed 54 times

-1

I have a problem that every time I give F5 the quantity of the product increases... I would like that when updated it does not increase this index if the user does not click to buy more.

}
if(isset($_GET['add']) && $_GET['add'] == "carrinho"){
$idProduto = $_GET['id'];
if(!isset($_SESSION['itens'][$idProduto]))
{
    $_SESSION['itens'][$idProduto] = 1;
}else {
    $_SESSION['itens'][$idProduto] += 1;
}
}
  if(count($_SESSION['itens'])==0){
echo 'Carrinho Vazio<br><a href="cardapio.php">Adicionar itens<a/>';
}else{
$hostname = 'localhost';
$username = 'root';
$password = '';
$database = 'restaurante';
try {
$conexao = new PDO("mysql:host=$hostname;dbname=$database;charset=utf8", 
$username, $password,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

 }
 catch(PDOException $e){
echo $e->getMessage();
 }                  
foreach($_SESSION['itens'] as $idProduto => $quantidade){
$select = $conexao-> prepare("SELECT * FROM produto WHERE id=?");
$select -> bindParam(1,$idProduto);
$select -> execute();
$produtos =$select ->fetchAll();
    $total = $quantidade * $produtos[0]['Preco_produto'];
    echo  
        $produtos[0]['Nome_produto'].'&nbsp <br/>
        Preço:'.number_format($produtos[0] 
     ['Preco_produto'],2,",",".").'<br/>
        Quantidade: '.$quantidade.'<br/>
    Total : '.number_format($total,2,",",".").'
        <a href="remover.php?remover=carrinho&id='.$idProduto.'">Remover</a>
        <hr>';

}
}

1 answer

1


At the beginning of your code $idProduto exist in the session you are incrementing it, just remove it.

Of

if(!isset($_SESSION['itens'][$idProduto]))
{
    $_SESSION['itens'][$idProduto] = 1;
}else {
    $_SESSION['itens'][$idProduto] += 1;
}

To

if(!isset($_SESSION['itens'][$idProduto]))
{
    $_SESSION['itens'][$idProduto] = 1;
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.