la taille d'une variable de session de type tableaux

Répondre
hmayda
hmayda
Déconnecté
Salut ,

j'ai cree une session de type tableau comme suivants:

----le code ---

  1. <?php
  2. session_start();  
  3. $table=array();  
  4. if(isset($_SESSION['panier']));  
  5. else $_SESSION['panier']=$table;  
  6. ?> 


-----fin code---

puis je enregester les champs suivants dans le session
Voici mon script :
----

  1. <?php
  2. $tableproduit=$_SESSION['panier'];  
  3. if($tableproduit=='')  
  4. {  
  5. $count=0;  
  6. }  
  7. else  
  8. {  
  9. $count=count($tableproduit[0]);  
  10. }  
  11. echo ' count'; echo $count; echo '<br>';  
  12.  
  13.  
  14. $tableproduit[ref][$count]=$ref;  
  15. $tableproduit[prix][$count]=$prix;  
  16. $tableproduit[2][$count]=$_POST["qt"];  
  17. $tableproduit[3][$count]=$_POST["totale"];  
  18. ?> 


---

Le pb c'est que le valeur de $count est toujour =0 par contre j'ai des valeurs dans ma session .
je veut avoir comment connaitre le taille de la session .
- j'ai connu cette fonction " count() " mais il me donne 0 (zero) dans tt les cas .

- en locale ca marche bien mais en ligne ne ca marche pas il m'affiche tjrs la taille du session 0 .
Qui peut m'aide svp ?
Merci d'avance
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben le seul endroit ou tu modifies $_SESSION['panier'], tu lui assignes un tableau vide ($table), c'est donc normal que cette variable de session soit toujours vide.
hmayda
hmayda
Déconnecté
Bonjour ,

Merci pour votre reponse.
---gestion de panier avec le session de type tablau---
j'ai modifier le code suivants :

  1. <?php
  2. session_start();  
  3. $table=array();  
  4. if(isset($_SESSION['panier']));  
  5. else $_SESSION['panier']=$table;  
  6. ?> 


par cet code
----code --
  1. <?php
  2. session_start();  
  3. //$table=array();
  4. if(($_SESSION['panier'])=="")  
  5. {  
  6. echo 'session vide';  
  7. }  
  8. else  
  9. { //$_SESSION['panier']=$table;
  10. echo 'session contin des produit';  
  11. echo sizeof($_SESSION['panier']);  
  12. }  
  13. ?> 

--fin code ---


mais tjrs le le taille du session est vide ( session est vide).

- je supprimer tt le code et je le refaire avec une autre methode :
- l'osque on clique sur le boutton ajouter panier il me ouvre la page "ajouter panier.php"


-----ajouter panier.php

  1. <?php
  2. @session_start();  
  3. //include("function.php");
  4. $ref=$_GET["id"];  
  5.  
  6. function add($ref)  
  7. {  
  8. $_SESSION['achats'][] = array ("ref" => $ref);  
  9. }  
  10.  
  11. add($_GET['id']);  
  12. < a href="consulterpanier.php">consulter panier</a>  
  13. ?> 


--------fin code----

- losque en clique sur le lien Consulter Panier il affiche le contenu du panier:
----consulterpanier.php----

  1. <?php
  2. @session_start();  
  3. //include("function.php");
  4. function aff()  
  5. {  
  6. echo $count = count($_SESSION['achats']);  
  7. if($count ==0)  
  8. {  
  9. echo"panier vide";  
  10. }  
  11. else  
  12. {  
  13. for($i=0;$i<$count;$i++)  
  14. {  
  15. $ref = $_SESSION['achats'][$i]['ref'];  
  16.  
  17. echo "le ref est$ref<br />";  
  18. }  
  19.  
  20. }  
  21. }  
  22.  
  23. aff();  
  24.  
  25. ?>  

----fin code ----
- le pb c'est en locale ca marche bien mais en ligne il ne fonctionne pas , la taille du session est tjrs 0.
- je travail sur le wamp5
- en ligne: Version MySQL5.0
Qui peut m'aide svp?
Je suis bloquée !!!!!
Merci encors.
Keika
Keika
Déconnecté
Le PHP --> C'est dur !
ba regarde un peu ton code ami.

tu veux afficher $_SESSION['PANIER']

mais dans ta apge d'ajout tu n'utilises que $_SESSION['AJOUT'] donc c'est sur que tu n'as rien dans ['panier']
hmayda
hmayda
Déconnecté
Salut ,

Merci Keika

esque vous pouvez m'expliquer svp ?

je n'arrive pas à connaitre d'ou vient le pb svp
je veut ajouter des produit dans le panier pius dans le page consulter je veut affichier le contenu du panier .
Encors un peut d'aide svp .
Merci encors
hmayda
hmayda
Déconnecté
- le code ca marche en local mais en ligne ne fonctionne pas .

- je traivail en local sur wamp5
- en ligne: Version MySQL5.0

- esque ce pb peut etre devien de l'ebergement (pb de sression ) svp ? puisque en locale ca marche bien ?
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
salut,

peut tu faire un petit effort pour le français STP ?

  1. <?php
  2. @session_start();  
  3. //include("function.php");  
  4. $ref=$_GET["id"];  
  5.  
  6. function add($ref)  
  7. {  
  8. $_SESSION['achats'][] = array ("ref" => $ref);  
  9. }  
  10.  
  11. add($_GET['id']);  
  12. < a href="consulterpanier.php">consulter panier</a>  
  13. ?> 


dans ce code tu à une erreur à la ligne 12 !!!!
tu ne peut mettre ainsi du html au milieu de php !

Pour ce qui est de l'hébergement, effectivement, si tu n'a pas la même configuration que ton hébergeur (version de php, register globals, error reporting etc) cela peut être génant.

Essai de nous donner ces infos !

@+
Keika
Keika
Déconnecté
Le PHP --> C'est dur !
moi je ne comprends meme pas comment ca peut fonctionner en local...
Je m'explique:

on a une page ajouter_panier.php qui donne ca:

  1.  
  2. <?php
  3. @session_start();  
  4. //include("function.php");  
  5. $ref=$_GET["id"];  
  6.  
  7. function add($ref)  
  8. {  
  9. $_SESSION['achats'][] = array ("ref" => $ref);  
  10. }  
  11.  
  12. add($_GET['id']);  
  13. < a href="consulterpanier.php">consulter panier</a> //manque un echo'' ;  
  14. ?>  

ca construit une session "achats" avec la reference des produits. ok...

Ensuite tu as la page consulter_panier.php:

  1. <?php
  2. @session_start();  
  3. //include("function.php");  
  4. function aff()  
  5. {  
  6. echo $count = count($_SESSION['achats']);  
  7. if($count ==0)  
  8. {  
  9. echo"panier vide";  
  10. }  
  11. else  
  12. {  
  13. for($i=0;$i<$count;$i++)  
  14. {  
  15. $ref = $_SESSION['achats'][$i]['ref'];  
  16.  
  17. echo "le ref est$ref<br/>";  
  18. }  
  19.  
  20. }  
  21. }  
  22.  
  23. aff();  
  24.  
  25. ?>  


qui va t'afficher ce qu'il y a dans la sessions ACHATS

alors apres quand t'essayes d'afficher la session PANIER... bien sur qu'il ne toruve pas, parceque ca n'a pas ete cree
hmayda
hmayda
Déconnecté
Bonjour ,

- oui la page consulter_panier.php affiche le contenu du session (les ref de produit que le client été choisi)

- dans la page consulter_panier.php il y a aussi un test si le session existe en et $count!=0 en va afficher le contenu de sessions

- j'ai supprimer tt le code et j'ai crée une simple sessions
comme suit:
hmayda
hmayda
Déconnecté
ajouterpanier.php
  1. <?php
  2. $ref=$_GET["id"];  
  3. session_start();  
  4. $_SESSION['achats'] = $ref;  
  5.  
  6. echo '<a href="page2.php">page2</a>';  
  7. ?> 


consulter.php
  1. <?php
  2. session_start();  
  3. $tab=$_SESSION['achats']  
  4. $count=count($tab[0])  
  5. for($i=0; $i<$count; $i++)  
  6. {  
  7. echo 'Valeurs dans la session :$tab[0][$i]';  
  8. }  
  9. ?>  
hmayda
hmayda
Déconnecté
cet code ne fonctionne pas en ligne mais en locale ca mache .

Merci
zebden
zebden
Déconnecté
zebdinou pour les intimes / Blog : http://www.zebden.fr
Lu,

je me demande bien comment elle pourrait fonctionner en local.

1 : Y a une faute de synthaxe ici :
$tab=$_SESSION['achats'] // Il manque le point virgule.

Ensuite, tu comptes tab[0] alors que c'est tab où tu as affecté le tableau achats donc count($tab).

Bon courage ^^;
zebden
zebden
Déconnecté
zebdinou pour les intimes / Blog : http://www.zebden.fr
ah encore

$_SESSION['achats'] = $ref; faux puisqu'à chaque ajout de références, tu écrases l'ancienne.

Donc :
$_SESSION['achats'][] = $ref (je crois qu'en plus cela a été dis plus haut).

N'hésite pas utiliser var_dump ou print_r pour visualiser le contenu de tes tableaux lors du debuguage.
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog