J'ai la fonction suivante en PHP qui ajoute un article à un panier chaque fois que l'utilisateur clique sur Ajouter au panier.Session en PHP rajoutant un article au panier lors de l'actualisation du site
Le problème est que si quelqu'un recharge manuellement la page après avoir ajouté un article au panier, un nouvel article est ajouté.
Des conseils pour éviter cela?
function addtocart($pid,$q)
{
if($pid<1 or $q<1) return;
if(is_array($_SESSION['cart']))
{
$max=count($_SESSION['cart']);
$_SESSION['cart'][$max]['itemId']=$pid;
$_SESSION['cart'][$max]['qty']=$q;
$max=count($_SESSION['cart']);
}
else
{
$_SESSION['cart']=array();
$_SESSION['cart'][0]['itemId']=$pid;
$_SESSION['cart'][0]['qty']=$q;
$max=count($_SESSION['cart']);
}
}
Voilà comment j'appelle la fonction:
utilisateur clique sur le bouton Ajouter au panier:
<input type="button" value="<?php echo $lang['ADDTOCART']; ?>" class="addToCart" onclick="addtocart(<?php echo $itemId; ?>)" />
Javascript exécuté:
<script language="javascript">
function addtocart(pid){
document.cartAdding.itemId.value=pid;
document.cartAdding.command.value='add';
document.cartAdding.submit();
}
</script>
page rechargements et entre en ici:
if(isset($_REQUEST['command']) && $_REQUEST['command']=='add' && $_REQUEST['itemId']>0)
{
$pid=$_REQUEST['itemId'];
addtocart($pid,1);
}
Merci
À quelle page rafraîchissent-ils manuellement? La page "Ajouter au panier"? – ceejayoz
Comment est appelé 'addtocart()'? – Tchoupi
[Post/Redirect/Get] (https://en.wikipedia.org/wiki/Post/Redirect/Get) –