Bonjour,

J'ai mis en place un panier en PHP et récupères les données par une session.

J'ai mis en place deux boutons + et - pour augmenter ou diminuer les quantités comme sur le code ci-dessous (simplifié)


window.addEventListener('DOMContentLoaded', function(){
    var $btns_ajouter = document.querySelectorAll('.ajouter'),
        $btns_enlever = document.querySelectorAll('.enlever');

    for(var i = 0 ; i < $btns_ajouter.length; i++){
        (function(i){
            $btns_ajouter[i].addEventListener('click', function(e){
                var $quantity = this.parentNode.querySelector('.quantity');
                $quantity.value = parseInt($quantity.value, 10) + 1;
                e.preventDefault();
            });
        })(i);
    }

    for(var i = 0 ; i < $btns_enlever.length; i++){
        (function(i){
            $btns_enlever[i].addEventListener('click', function(e){
                var $quantity = this.parentNode.querySelector('.quantity');
                $quantity.value = parseInt($quantity.value, 10) <= 0? 0 : parseInt($quantity.value, 10) - 1;
                e.preventDefault();
            });
        })(i);
    }
});


En fonction de cela je calcule les quantité par article, le prix total (qté x prix)

Je fais des totaux de nombre d'articles du panier, la somme global du panier.

Cela fonctionne correctement sauf quand l'utilisateur rafraichit la page car les données ne sont pas sauvegardées dans les sessions

Comment remédier à ce problème (mouvementer les sessions à partir de js ?)

Merci de votre aide
Non Javascript dieu merci ne peux atteindre le serveur !
Tu as deux solutions:
1) par Cookies et l'avantage est que le cokkies peut être relu de suite par javascript, alors que le même cookies géré par PHP ne le peux pas.
2) (et j'opterai et de loin pour cela,) c'est AJAX qui alors gérera tout en sessions !
Modifié par Jean-Pierre-Bruneau (25 Sep 2020 - 03:08)
Merci encore Jean-Pierre pour tes conseils avisés.

Oui je pense m'orienter vers Ajax

Bien à toi