PhP - Tableau associatif ds Variable SESSION
Guillaume
-
Guillaume -
Guillaume -
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 ??
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
-
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 ? -
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 -
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. -