Bonjour,

Voilà j'ai un probleme avec mes $_SESSION['bag] elle disparaissent quand je ferme mon navigateur je souhaiterais les garder pendant une semaines je sais pas comment m'y prendre

function addBasket(){

       if (!isset($_SESSION['bag'])){

          $_SESSION['bag'] = [];

          $_SESSION['bag']['token'] = [];

          $_SESSION['bag']['lock'] = false;
       }

       return true;

    }

    // 

    function addProduct($token){

       //Si le panier existe
       if (addBasket() && !LockIt()) {

          //Si le produit existe déjà on ajoute seulement la quantité
          $itexists = array_search($token, $_SESSION['bag']['token']);

          if ($itexists !== false) {

            // rederiger l'utilisateur ver le panier
             var_dump('Le produit et déja dans le panier');

          } else {

             //Sinon on ajoute le produit
             array_push( $_SESSION['bag']['token'],$token);

          }

       }

    }

3 réponses


Bonjour,
Tu peux utiliser à la place les "cookies", le stocker dans une BDD ou stocker dans un fichier.

Tu pourras utiliser session_set_cookie_params avant le session_start
Pour une semaine:

session_set_cookie_params(3600 * 24 * 7);
aroundsession_start();

http://www.php.net/manual/en/function.session-set-cookie-params.php

Tu peux aussi augmenter la durée du cookie de session
voici un article qui en parle
Edit (grilled)