Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ma session perd ses variables...

2 réponses
Avatar
Denis Beauregard
Bonjour,

Je redéfinis l'id de session, puis j'insère des valeurs. La fois
suivante, les valeurs n'y sont plus. Que dois-je faire pour conserver
mes variables ? Je croyais que c'était automatique.

(test en local, avec easyphp 7)

//initialisations et calcul de $id

session_id ($id);
session_start();
if (!isset($_SESSION['var1'])) { $_SESSION['var1'] = "0"; };

//travail

$_SESSION['var1'] = $nouvellevaleur;


La 2e fois, isset n'est jamais vrai et donc la variable est
initialisée de nouveau.

Pourtant, d'après
http://ca.php.net/manual/fr/function.session-write-close.php
"Les données de session sont généralement stockées à la fin de votre
script, automatiquement" ...


Denis

2 réponses

Avatar
Saad
Bonjour,

Je redéfinis l'id de session, puis j'insère des valeurs. La fois
suivante, les valeurs n'y sont plus. Que dois-je faire pour conserver
mes variables ? Je croyais que c'était automatique.

(test en local, avec easyphp 7)

//initialisations et calcul de $id

session_id ($id);
session_start();
if (!isset($_SESSION['var1'])) { $_SESSION['var1'] = "0"; };

//travail

$_SESSION['var1'] = $nouvellevaleur;


La 2e fois, isset n'est jamais vrai et donc la variable est
initialisée de nouveau.

Pourtant, d'après
http://ca.php.net/manual/fr/function.session-write-close.php
"Les données de session sont généralement stockées à la fin de votre
script, automatiquement" ...


Denis



session_start(); doit être au dessus de chaque page

rien avant

Avatar
Denis Beauregard
Le 26 Apr 2006 21:07:09 GMT, Saad écrivait dans
fr.comp.lang.php:

Bonjour,

Je redéfinis l'id de session, puis j'insère des valeurs. La fois
suivante, les valeurs n'y sont plus. Que dois-je faire pour conserver
mes variables ? Je croyais que c'était automatique.

(test en local, avec easyphp 7)

//initialisations et calcul de $id

session_id ($id);
session_start();
if (!isset($_SESSION['var1'])) { $_SESSION['var1'] = "0"; };

session_start(); doit être au dessus de chaque page


rien avant


sauf session_id. voir
http://ca.php.net/manual/fr/function.session-id.php

" Si id est fourni, il remplacera l'identifiant courant de session.
session_id() doit alors être appelé avant session_start()."


Mais j'ai fini par résoudre mon problème. Un bête problème
d'oubli d'assignation de variable ;-(


Denis