Page 1 sur 1

Panier article supp

Posté : 03 avr. 2019, 11:42
par LACOLYTE
Bonjour,
Je me présente brièvement, Clément 21 ans et actuellement en formation de développeur digital.
Voilà, j'ai un projet à faire et je dois créer un site de e-commerce en php.
Le problème que je rencontre aujourd'hui est :
J'ajoute des articles dans mon panier et stocke les informations dans $_SESSION['panier'] (Je stock les ID et quantités).
J'ai des boutons supprimer à côté de chaque article de mon panier et je souhaite pouvoir supprimer 1 seul article de mon panier pour que par exemple à la fin il ne me reste que 2 articles dans mon panier.
J'aimerais savoir si quelqu'un aurait une idée du code à utiliser ?
Je vous partage mon code.
Merci par avance !
ajout_panier.php
if(isset($_POST['id'],$_POST['quantite'] )){
    session_start();
    //Si le tableau panier n'est pas déjà crée, en créer un
    if(!isset($_SESSION['panier'])) {
        $_SESSION['panier'] = array();
        $_SESSION['panier'][] = array('id'=>$_POST['id'], 'quantite'=>$_POST['quantite']);
    }
    else {
        //Puis vérifier si id déjà présent dans le panier
        $trouve = false;
        for ($i=0; $i < sizeof($_SESSION['panier']) - 1; $i++ ){
            if($_SESSION['panier'][$i]['id'] == $_POST['id']){
                $_SESSION['panier'][$i]['quantite'] += intval($_POST['quantite']);
                $trouve = true;
                break;
            }
        }
        if($trouve == false) {
            $_SESSION['panier'][] = array('id'=>$_POST['id'], 'quantite'=>$_POST['quantite']);
        }
    }
    header('Location:description.php?id='.$_POST['id'].'&ajout');
    exit;
}
else die(print_r($_POST));
Et supp_panier.php
<?php 
session_start();

$ref_article = $_GET['id'];

function supprim_article2($ref_article) 
{ 
    $suppression = false; 
    $aCleSuppr = array_keys($_SESSION['panier']['id'], $ref_article); 

    /* sortie la clé a été trouvée */ 
    if (!empty ($aCleSuppr)) 
    { 
        /* on traverse le panier pour supprimer ce qui doit l'être */ 
        foreach ($_SESSION['panier'] as $k=>$v) 
        { 
            foreach($aCleSuppr as $v1) 
            { 
                unset($_SESSION['panier'][$k][$v1]);    // remplace la ligne foireuse 
            } 
            /* si la réindexation est indispensable pour la suite de l'appli, faire ici: */ 
            if($reindex == true) 
            { 
                $_SESSION['panier'][$k] = array_values($_SESSION['panier'][$k]); 
            } 
            $suppression = true; 
        } 
    } 
    else 
    { 
        $suppression = "absent"; 
    } 
    return $suppression; 
} 
var_dump($_SESSION['panier']);
//header('Location:panier.php?delete');
?>

Re: Panier article supp

Posté : 04 avr. 2019, 08:10
par Spols
si tu mets ton code dans une fonction et que tu n'appelle pas cette fonction, cette partie de code ne séxécutera jamais.

retire ta fonction et mets le code en direct

Re: Panier article supp

Posté : 10 avr. 2019, 22:19
par LACOLYTE
Bonjour,
Ducoup j'ai tout changer, j'ai enregistrer le panier dans ma bdd de façon temporaire si celui-ci reste abandonné.
Et j'avais appeler la fonction j'ai oublier de mettre tout le code :/ My bad, désolé..
Merci pour la réponse !
Enjoy