Mes objets perdent la mémoire !
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 :
Code:
1 2
| $gestP = new GestPanier( $_POST['email']);
$_SESSION['PANIER'] = serialize($gestP); |
Voila le constructeur de ma classe GestPanier :
Code:
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();
} |
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:
1 2 3 4
| $gestP = unserialize($_SESSION['PANIER']);
echo "<br>Nb element : ".$gestP->getNbAlbum();
$gestP->ajouterAlbum($_GET['addpanier']);
echo "<br>Nb element : ".$gestP->getNbAlbum(); |
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...
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 :
Code:
$this->vectAlbum[] = $id_album;
Mes pages commences toutes par
Code:
<?php session_start(); ?>
suivi de l'autoload des classes :
Code:
1 2 3
| function __autoload($class_name) {
require_once 'src/' . $class_name . '.php';
} |
Si vous voyez une solution, ca me serait vraiment utile :D
Merci d'avance,
Loïc[/code]