Bonjour,
Je fais une petite appli qui utilise un panier. J'ai créer une classe panier qui contient entre autres un tableau et des méthode pour ajouter des éléments au tableau et en retirer.
Lorsque l'utilisateur se loggue le panier est creé et est mis en session :
Voila le constructeur de ma classe GestPanier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $gestP = new GestPanier( $_POST['email']); $_SESSION['PANIER'] = serialize($gestP);
Le probleme viens que lorsque l'utilisateur ajoute un élément dans le panier, se dernier se reinitialise systèmatiquement. J'ai l'impression que lorsque je recupère mon objet de cette sorte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Constructeur. function __construct($user) { $this->bdd = BDD::getInstance(); $this->utilisateur = $user; // Initialisation des tableaux $this->vectTitre = array(); $this->vectAlbum = array(); }
les informations contenus dans mon panier se perdent.... Par exemple dans le script ci-dessus, il affiche le nb d'element dans mon panier : premier affichage : 0, apres ajout affichage = 1. Si je fais 10 ajout il affiche toujours 0 puis 1...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $gestP = unserialize($_SESSION['PANIER']); echo "<br>Nb element : ".$gestP->getNbAlbum(); $gestP->ajouterAlbum($_GET['addpanier']); echo "<br>Nb element : ".$gestP->getNbAlbum();
Cependant, il semble perdre uniquement les infos contenus dans les tableau et pas par exemple les infos sur l'utilisateur qui sont stockés uniquement dans une variable de classe...(cf le constructeur)
Voila comment je fais un ajout d'element dans mon tableau :
Mes pages commences toutes par
Code : Sélectionner tout - Visualiser dans une fenêtre à part $this->vectAlbum[] = $id_album;
suivi de l'autoload des classes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php session_start(); ?>
Si vous voyez une solution, ca me serait vraiment utile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function __autoload($class_name) { require_once 'src/' . $class_name . '.php'; }![]()
Merci d'avance,
Loïc[/code]
Partager