Bonjour à tous,

Je développe actuellement un petit site perso sur wamp, et je voulais y ajouter un panier d'achat.

j'ai donc suivi le formidable tuto sur la création du panier d'achat en php et tout fonctionne nickel, à un détail près, la mise à jour dynamique du panier avec json.

J'ai testé par ailleurs les codes fournis dans le tuto, avec la maquette html fournis, sur wamp également, et la tout fonctionne.
Ça fait trois jours que je m'arrache les cheveux à essayer tout et son contraire et je commence à désespérer.

Voici la fonction en question:

(function($){
    $('.addPanier').click(function(event){
        event.preventDefault();

        $.getJSON($(this).attr('href'),{},function(data)
        {

            if(data.error)
            {
                alert(data.message);
            }
            else
            {
                $('#Total').empty().append(data.total);
                $('#Count').empty().append(data.count);

            }
        });
        return false;
    });
})(jQuery);

Le Json est encodé par addpanier.php :

<?php
require '_header.php';
$json = array('error' => true);
if(isset($_GET'id'])){
    $product = $DB->query('SELECT id_article FROM articles WHERE id_article=:id', array('id' => $_GET'id']));
    if(empty($product)){
        $json'message'] = utf8_encode("Ce produit n'existe pas");
    }else{
        $panier->add($product[0]->id_article);
        $json'error'] = false;
        $json'total'] = utf8_encode(number_format($panier->total(),2,',',' '));
        $json'count'] = utf8_encode($panier->count());
        $json'message'] = utf8_encode('Le produit a bien été ajouté à votre panier');
    }
}else{
    $json'message'] = utf8_encode("Vous n'avez pas sélectionné de produit à ajouter au panier");
}
echo json_encode($json);
?>

Si une bonne âme voit ou je me suis loupé, ça m’enlèverai une bonne épine du pied ^^

2 réponses


Arnaud Mcho Scott
Réponse acceptée

Pourquoi ne fais tu pas simplement un appel ajax. $.post de JQuery regarde la documentation en ligne.
Vérifie également que tu récupère bien la bonne url par rapport à l'attribut href. Vérifie également ce que t'encode et renvoi ton fichier PHP.

Merci de cette réponse, j'ai en effet réussi en suivant vos conseils. Un grand merci à vous ;)