Page 1 sur 1

ajouter un element a un tableau d'un session

Posté : 09 févr. 2006, 18:50
par nath-0-0
Bonjour,

j'ai un tableua composé d'id.
je n'arrive pas a ajouter un element a mon tableau, ou plutot oui j'arrive mais celui ci ecrase la valeur precedente et je n'ai toujours qu'une valeur dans mon tableau....

voici mon code:

Code : Tout sélectionner

case 'Aj' : if (!isset($_SESSION[$a_Cart])){ //$_SESSION['a_Cart'] = array(); $a_Cart = array(); }else{ $a_Cart = $_SESSION['a_Cart']; } //array_push($caddie['Produit']['Nom'], $nom); array_push($a_Cart, $idBien); $_SESSION['a_Cart'] = $a_Cart; echo "<br>n".(count($a_Cart)); $maxRow = $_POST['h_maxRow']; if (!isset($maxRow)){ if ($nbrRows <= cNbBienPP){ $maxRow=$nbrRows; }else{ $maxRow=cNbBienPP; } } $minRow = $_POST['h_minRow']; if (!isset($minRow))$minRow=1; break; }
merci d'avance pour votre aide...

Posté : 09 févr. 2006, 19:01
par zigz4g
Salut,
je n'est pas compris exactement ton probleme mais je voudrais juste te faire remarque ceci :
 case 'Aj' :
         if (!isset($_SESSION[$a_Cart])){   // <------ Tu veux voir le contenu de $_SESSION[$a_Cart] mais que vaut $a_Cart ?????
            //$_SESSION['a_Cart'] = array();  // <---- Si tu fais cela tu efface completement ta session. Bon c'est en commentaire, tu devais faire des tests.
            $a_Cart = array(); // <------ Idem $a_Cart est egal a quoi ????
         }else{
            $a_Cart = $_SESSION['a_Cart'];
         } 
Je ne comprend pas trop ce que tu veux faire mais peut etre que c'est ce que tu veux ?

Donne nous la ou les lignes qui te posent probleme.

Posté : 09 févr. 2006, 19:17
par nath-0-0

Code : Tout sélectionner

case 'Aj' : if (!isset($_SESSION[$a_Cart])){ // <------ Tu veux voir le contenu de $_SESSION[$a_Cart] mais que vaut $a_Cart ????? //$_SESSION['a_Cart'] = array(); // <---- Si tu fais cela tu efface completement ta session. Bon c'est en commentaire, tu devais faire des tests. $a_Cart = array(); // <------ Idem $a_Cart est egal a quoi ???? }else{ $a_Cart = $_SESSION['a_Cart']; }
premier commentaire:
Je veux voir si j'ai deja creer ma variable de session.
Si ce n'est pas le cas je la cree

Code : Tout sélectionner

$a_Cart = array();

Code : Tout sélectionner

//$_SESSION['a_Cart'] = array(); // <---- Si tu fais cela tu efface completement ta session. Bon c'est en commentaire, tu devais faire des tests.
et en fait la c'est en commentaire....donc je ne fais rien avec cela...

un peu plus clair???

Posté : 09 févr. 2006, 19:46
par zigz4g
Attention cette syntaxe correspond a verifier le contenu de $_SESSION avec le contenu de $a_Cart.
<?php
$a_Cart = 'toto';
$_SESSION[$a_Cart] = 'Test';
$_SESSION['toto'] = 'titi';
echo $_SESSION['toto']; //Affiche normallement 'titi' et non 'Test'.
?>
La raison est que ta variable est interpretter par php. Il regarde donc le contenu de ta variable $a_Cart avant de verifier $_SESSION.

Je pense que tu veux faire ceci:
<?php
if (isset($_SESSION['one'])) {
    $a_Cart = $_SESSION['one'];
}
else {
    $a_Cart = array();
}
?>
En gros si $_SESSION['one'] (c'est dans ta session un element qui s'appel one) est bien presente, alors je l'affecte a $a_Cart. Sinon je cree un nouveau tableau $a_Cart.

Bien sur faut que tu est un tableau dans $_SESSION['one']. Tu peux faire ainsi :
$_SESSION['one'] = array();
Et pour ajouter des elements :
$_SESSION['one'] = array(1, 2, 3, 'on peut aussi des chaines de characteres');

ou $_SESSION['one'][] = 'un nouveau element';

Posté : 09 févr. 2006, 20:33
par nath-0-0
merci nickel cela fonctionne maintenant...

j'avais pas vu mon erreur, maintenant que tu me l'as fait remarquer, je me dis : ahhhhh oui bien sur...que je suis bete!!!! 8)