Perte de session

Eléphant du PHP | 331 Messages

02 janv. 2007, 22:16

Bonjour,

Je suis a faire un panier de produit.

Dans mon fichier panier.php je créer donc un tableau sous forme de session:
		if(!isset($_SESSION['panier']))
		{
  		$_SESSION['panier'] = array();
		$_SESSION['panier']['id_produit'] = array();
		$_SESSION['panier']['nom_produit'] = array();
    	$_SESSION['panier']['format_id'] = array();
		$_SESSION['panier']['nom_format'] = array();
		$_SESSION['panier']['qte'] = array();
		$_SESSION['panier']['prix'] = array();
		}
Si après avoir créer $_SESSION["panier"] je quitte la page panier.php pour aller sur une autre page de mon site Web et qu'ensuite je reviens sur panier.php j'ai perdu mon panier. Il est vide, on dirait que la $_SESSION["panier"] a été supprimé.

Pourtant,
J'ai bien mis $session_start(); dans mes pages.
session_start();
Pouvez-vous m'aider svp?

Merci!

ViPHP
AB
ViPHP | 5818 Messages

02 janv. 2007, 23:10

tu pourrais déjà faire un test pour voir si tes variables de sessions sont bien transmises :

du genre
 
$_SESSION['test'] = 'ok'; 
sur la page du panier

et sur une autre page
if (isset($_SESSION['test'])) echo '$_SESSION[test] = '.$_SESSION['test'];else echo 'Pas de variable de session transmise';
ça te permettras de mieux cerner le pb.

Eléphant du PHP | 331 Messages

03 janv. 2007, 01:07

Bon en faisant le test suggéré, je vois que les session passe.

J'ai fait le test sur ma session $_SESSION["panier"] et la session est existante.

Mon problème est donc que la session ou plutot mon tableau se vide.

Si je fais :
<pre>
<?php
var_dump($_SESSION["panier"]);
?>
</pre>
Je vois que mon tableau est existant mais qu'il ne contient plus de données.

En espérant que tu peux m'aider encore.

Merci!

Mammouth du PHP | 19672 Messages

03 janv. 2007, 09:45

...J'ai bien mis $session_start(); dans mes pages....
Es-tu bien certain que ce soit valable ? As-tu essayé avec session_start() ... sans le "$" initial ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
AB
ViPHP | 5818 Messages

03 janv. 2007, 11:12

Si ta variable $_SESSION["panier"] est bien transmise de page en page et qu'elle est vide, c'est certainement que tu transmets une variable vide.

- Contrôle sa valeur par un affichage dans ta page panier pour voir.

Note : et n'oublies pas que session_start() doit également être présent sur ta page panier!