Bonjour,
suis au tuto creer un panier en php https://www.grafikart.fr/tutoriels/php/panier-php-session-309 , je souhaite joindre des frais de livraison à chaque article. j'ai creer au niveau de ma base de donnés les frais de livraison par pays (juste trois pays) et je obliger mes clients avant d'ajouter au panier ,ils doivent choisir leurs pays de livaison . J'ai ecrit un code en ajax qui permet de tirer la valeur au click mais je n'arrive pas à joindre au panier.
Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

3 réponses


Bonjour.
Si tu ne nous fournit pas de code (PHP, Javascript), nous aurons du mal à pouvoir te répondre.

ouatoo
Auteur

addpanier.php.

<?php

 if(!empty($_POST)){

     if(isset($_GET['id'])){
        $product = $DB->query('SELECT id FROM products WHERE id=:id', array('id' => $_GET['id']));
        if(empty($product)){
            $_SESSION['flash']['warning']= "Ce produit n'existe pas";
            header('Location:acceuil');
            die();
        }
        $panier->add($product[0]->id);
        $_SESSION['flash']['success']="le produit a bien été ajouté à votre panier.<a href='panier'>Voulez vous consulter votre panier?</a>";
        header('Location:dermer');//je dois inserrer apres dans la requette le nom de la boutique pour appeller ca dynamiquement apres.
            die();
        }else{
            $_SESSION['flash']['danger']= "Vous n'avez pas sélectionné de produit à ajouter au panier";
            header('Location:dermer');
            die();
}
 }
 else{
 $_SESSION['flash']['danger']= "Vous n'avez pas sélectionné un pays de livraison";
            header('Location:dermer');
            die();
}****

dermer.php


                    <div class="modal fade product_view" id="product_view">
                    <div class="modal-dialog">
    <?php $products = $DB->query("SELECT * FROM products WHERE bout_name='dermer' and id='35'"); ?>
            <?php foreach ( $products as $product ): ?> 
                <div class="modal-content">
                <div class="modal-header">
                <a href="#" data-dismiss="modal" class="class pull-right"><span class="glyphicon glyphicon-remove"></span></a>
                <h3 class="modal-title">À PROPOS DE CE PRODUIT</h3>
                </div>
            <div class="modal-body">
                <div class="row">
                    <div class="col-md-6 product_img">
                        <img src="http://img.bbystatic.com/BestBuy_US/images/products/5613/5613060_sd.jpg" class="img-responsive">
                    </div>
                    <div class="col-md-6 product_content">
                        <h4>Product Id: <span>51526</span></h4>
                        <div class="rating">
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            (10 reviews)
                        </div>
                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>
                        <h3 class="cost"><span class="glyphicon glyphicon-usd"></span> 75.00 <small class="pre-cost"><span class="glyphicon glyphicon-usd"></span> 60.00</small></h3>
                        <div class="row">
                        <script type="text/javascript">
                        $(function(){
                        $("#livraison").click(function(){
                        cad=$(this).find("input[name=cad]").val();

                        $.post("content/addpanier.php",{cad:cad},function(data){
                            alert(data);
                        });
                        return false;
                        });
                        $("#achat").click(function(){

                        usa=$(this).find("input[name=cad]").val();

                        $.post("content/addpanier.php",{Etats_Unis:usa},function(data){
                            alert(data);
                        });
                        return false;
                        });
                        $("#shipping").click(function(){

                        fr=$(this).find("input[name=cad]").val();
                        $.post("content/addpanier.php",{France:fr},function(data){
                            alert(data);
                        });
                        return false;
                        });

                        });

                        </script>
                            <div class="col-md-8 col-sm-8 col-xs-12">

                               <p>Veuillez indiquer le pays de livraison:<br/>
                            <form action="content/addpanier.php" method="post" id="livraison">  
                               <input type="checkbox" value="<?= $product->l_Canada; ?>" name="cad" id="canada"/><label for="canada">Canada </label><br/>    
                            </form>        
                            <form action="content/addpanier.php" method="post" id="achat">
                                <input type="checkbox" value="<?= $product->l_Usa; ?>" name="cad" id="Etats_Unis"/><label for="Etats_Unis">Etats Unis </label><br/>
                             </form>        
                            <form action="content/addpanier.php" method="post" id="shipping">   
                                    <input type="checkbox" value="<?= $product->l_France; ?>" name="cad" id="France" /><label for="France">France </label>
                             </form>            
                                </p>
                                <div class="resultat">frais de livraison:</div>

                            </div>

                            <!-- end col -->
                        </div>
                        <div class="space-ten"></div>
                        <div class="btn-ground">
                           <a href="addpanier?id=<?= $product->id; ?>"><button type="button" class="btn btn-primary" id="achat"><span class="glyphicon glyphicon-shopping-cart"></span> 

                             AJOUTER AU PANIER</button></a>
                            <button type="button" class="btn btn-primary"><span class="glyphicon glyphicon-heart"></span> Add To Wishlist</button>
                        </div>

                    </div>
                </div>
            </div>
        </div>
        <?php endforeach ?>
        </div>
</div>

Salut,

       $product = $DB->query("SELECT count(id) as nbr FROM products WHERE id={$_GET['id']}")->fetch(PDO::FETCH_OBJ);
        if($product->nbr==0){
            $_SESSION['flash']['warning']= "Ce produit n'existe pas";
            header('Location:acceuil');
            die();
        }else{
            $product = $DB->query("SELECT id FROM products WHERE id={$_GET['id']}")->fetch(PDO::FETCH_OBJ);
        }

Y a peut être autres choses, mais au moins, y a ça ;)

@plus

Pierre