Clayton Postado Janeiro 27, 2016 Denunciar Share Postado Janeiro 27, 2016 (editado) Nesta Session como impedir que a cada refresh (F5) ele aumente a quantidade do produto. 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; } } //subtrari produto do cesto 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($_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]); } } } } Editado Janeiro 27, 2016 por Clayton Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Janeiro 27, 2016 Denunciar Share Postado Janeiro 27, 2016 Redirecione após a alteração de quantidade, usando header() Isso deve resolver 95% ou mais dos casos. Se quiser resolver 100%, crie variáveis de sessão, alteradas a cada modificação de quantidade, para controlar isso. Mas só o redirecionamento vai ajudar muito. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Clayton
Nesta Session como impedir que a cada refresh (F5) ele aumente a quantidade do produto.
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;
}
}
//subtrari produto do cesto
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($_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]);
}
}
}
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.