la taille d'une variable de session de type tableaux

Répondre
hmayda
le 15/11/2007 à 16:42
hmayda
Salut ,

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

----le code ---

<?php
session_start();
$table=array();
if(isset($_SESSION['panier']));
else $_SESSION['panier']=$table;
?>


-----fin code---

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

<?php
$tableproduit=$_SESSION['panier'];
if($tableproduit=='')
{
$count=0;
}
else
{
$count=count($tableproduit[0]);
}
echo ' count'; echo $count; echo '<br>';


$tableproduit[ref][$count]=$ref;
$tableproduit[prix][$count]=$prix;
$tableproduit[2][$count]=$_POST["qt"];
$tableproduit[3][$count]=$_POST["totale"];
?>


---

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
le 15/11/2007 à 20:04
LA GLOBULE
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
le 16/11/2007 à 11:00
hmayda
Bonjour ,

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

<?php
session_start();
$table=array();
if(isset($_SESSION['panier']));
else $_SESSION['panier']=$table;
?>


par cet code
----code --
<?php
session_start();
//$table=array();
if(($_SESSION['panier'])=="")
{
echo 'session vide';
}
else
{ //$_SESSION['panier']=$table;
echo 'session contin des produit';
echo sizeof($_SESSION['panier']);
}
?>

--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

<?php
@session_start();
//include("function.php");
$ref=$_GET["id"];

function add($ref)
{
$_SESSION['achats'][] = array ("ref" => $ref);
}

add($_GET['id']);
< a href="consulterpanier.php">consulter panier</a>
?>


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

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

<?php
@session_start();
//include("function.php");
function aff()
{
echo $count = count($_SESSION['achats']);
if($count ==0)
{
echo"panier vide";
}
else
{
for($i=0;$i<$count;$i++)
{
$ref = $_SESSION['achats'][$i]['ref'];

echo " le ref est $ref <br />";
}

}
}

aff();

?>

----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
le 16/11/2007 à 13:50
Keika
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']
Le PHP --> C'est dur !
hmayda
le 16/11/2007 à 14:42
hmayda
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
le 16/11/2007 à 14:48
hmayda
- 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
le 16/11/2007 à 16:57
moogli
salut,

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

<?php
@session_start();
//include("function.php");
$ref=$_GET["id"];

function add($ref)
{
$_SESSION['achats'][] = array ("ref" => $ref);
}

add($_GET['id']);
< a href="consulterpanier.php">consulter panier</a>
?>


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 !

@+
Il en faut peu pour être heureux !!!!!
Keika
le 19/11/2007 à 13:12
Keika
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:

<?php
@session_start();
//include("function.php");
$ref=$_GET["id"];

function add($ref)
{
$_SESSION['achats'][] = array ("ref" => $ref);
}

add($_GET['id']);
< a href="consulterpanier.php">consulter panier</a> //manque un echo'' ;
?>

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

Ensuite tu as la page consulter_panier.php:

<?php
@session_start();
//include("function.php");
function aff()
{
echo $count = count($_SESSION['achats']);
if($count ==0)
{
echo"panier vide";
}
else
{
for($i=0;$i<$count;$i++)
{
$ref = $_SESSION['achats'][$i]['ref'];

echo " le ref est $ref<br/>";
}

}
}

aff();

?>


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
Le PHP --> C'est dur !
hmayda
le 19/11/2007 à 13:26
hmayda
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
le 19/11/2007 à 13:34
hmayda
ajouterpanier.php
<?php
$ref=$_GET["id"];
session_start();
$_SESSION['achats'] = $ref;

echo '<a href="page2.php">page2</a>';
?>


consulter.php
<?php
session_start();
$tab=$_SESSION['achats']
$count=count($tab[0])
for($i=0; $i<$count; $i++)
{
echo 'Valeurs dans la session :$tab[0][$i]';
}
?>
Répondre
LoadingChargement en cours