PhP - Tableau associatif ds Variable SESSION

Bonjour,

J'aimerez vous faire part de mon petit problème du jour :

Je n'arrive pas intégrer un tableau associatif dans une variable de SESSION.

Mon Code :

$_SESSION['Panier'][] = array(
'PanierJeux' => $Panier[0],
'PanierPlateForme' => $Panier[1],
'PrixJeux' => $Panier[2],
'Qte' => 1);

$Panier est un tableau qui contient diverses information d'un produit sélectionné.

Mon problème : Ce code marche très bien lors d'un premier ajout.
Soit :
$_SESSION['Panier'][0]['PanierJeux'] = $Panier[0]
$_SESSION['Panier'][0]['PanierPlateForme'] = $Panier[1]
$_SESSION['Panier'][0]['PrixJeux'] = $Panier[2]
$_SESSION['Panier'][0]['Qte'] = 1

Mais lorsque je veux ajouter plusieurs produits, Cela donne quelque chose comme :

$_SESSION['Panier'][0] = $Panier[0]; (Produit 2)
$_SESSION['Panier'][1] = $Panier[1]; (Produit 2)
$_SESSION['Panier'][2]['PanierJeux'] = $Panier[0]; (Produit1)
$_SESSION['Panier'][2]['PanierPlateForme'] = $Panier[1] (Produit1)
$_SESSION['Panier'][2]['PrixJeux'] = $Panier[2]; (Produit1)
$_SESSION['Panier'][2]['Qte'] = 1; (Produit1);

Je n'arrive pas bien à comprendre pourquoi ce code ne marche pas.

Dans mes hypothèse : L'instruction [] qui permet de créer une nouvelle occurrence d'un tableau ne marcherais pas dans mon cas ??

4 réponses

  1. Bonsoir

    Je n'avais guère de doutes mais je viens quand même de faire un essai d'ajout de tableau dans la variable $_SESSION. Cela marche parfaitement.

    Comment fais-tu vraiment pour insérer tes 3 tableaux successifs (dans une boucle, dans 3 appels de pages consécutifs...) et avec quel code visualises-tu le résultat ?
    1. Merci, pour votre réponse.

      Mes tests étaient effectués au lycée. De retour chez moi, j'ai retesté la bête. A mon grand étonnement, le programme marche !

      Voici un extrait du var_dump de $_SESSION :

      array(1) {  
      ["Panier"]=>  
      array(21) {  
          [0]=>  
          array(4) {  
            ["PanierJeux"]=>  
            string(16) "Empire Total War"  
            ["PanierPlateForme"]=>  
            string(3) "Wii"  
            ["PrixJeux"]=>  
            string(2) "59"  
            ["Qte"]=>  
            int(1)  
          }  
          [1]=>  
          array(4) {  
            ["PanierJeux"]=>  
            string(16) "Empire Total War"  
            ["PanierPlateForme"]=>  
            string(3) "Wii"  
            ["PrixJeux"]=>  
            string(2) "59"  
            ["Qte"]=>  
            int(1)  
          }  
          [2]=>  
          array(4) {  
            ["PanierJeux"]=>  
            string(13) "Left 4 Dead 2"  
            ["PanierPlateForme"]=>  
            string(13) "Playstation 3"  
            ["PrixJeux"]=>  
            string(2) "45"  
            ["Qte"]=>  
            int(1)  
          } 


      A noter que le même var_dump au lycée indiquait le tableau comme "&array". J'espère que lors de la présentation de mon projet au lycée le probléme n'arriveras pas.

      Mon Environnement : PhP 5.3 / Apache 2
      1. C'est un var_dump de $_SESSION['Panier'] ou de $_SESSION ?
        D'après le code que tu as montré au début, ce serait plutôt de $_SESSION.
        Si tu ne mets pas plus de rigueur dans tes essais que dans tes compte-rendus, pas étonnant que les résultats différent d'une fois sur l'autre.