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

Des variables de session qui ne s'ecrasent pas

3 réponses
Avatar
Jeremie
Bonjour à tous,

Je suis confronté à un problème que je n'ai jamais eu :
lorsque j'enregistre une variable de session

$_SESSION['foo'] = $foo;

cela se passe sans problème.
Le hic, c'est que lorsque je tente de remodifier cette variable de
session via

$_SESSION['foo'] = $new_foo;

PHP l'enregistre comme si j'avais fait

$_SESSION['foo'] .= $new_foo;

du coup un objet serialisé est reconnu comme tel à sa première
désérialisation, mais à la seconde, ça ne marche plus car on récupère
une chaîne :-/

Merci de votre aide,

Jérémie

3 réponses

Avatar
Paul
Bonjour à tous,

Je suis confronté à un problème que je n'ai jamais eu :
...

du coup un objet serialisé est reconnu comme tel à sa première
désérialisation, mais à la seconde, ça ne marche plus car on récupère
une chaîne :-/
Ton résumé doit cacher la réalité : $foo et $new_foo ne sont ils pas de

deux types différents ?

Merci de votre aide,

De nada

Jérémie


Avatar
Jeremie
Bonjour à tous,

Je suis confronté à un problème que je n'ai jamais eu :
...

du coup un objet serialisé est reconnu comme tel à sa première
désérialisation, mais à la seconde, ça ne marche plus car on récupère
une chaîne :-/
Ton résumé doit cacher la réalité : $foo et $new_foo ne sont ils pas de

deux types différents ?
Non, ce sont bien deux objets qui ont été sérialisés via la fonction

serialize().

Merci de votre aide,

De nada

Jérémie




Avatar
Paul
Bonjour à tous,

Je suis confronté à un problème que je n'ai jamais eu :
lorsque j'enregistre une variable de session

$_SESSION['foo'] = $foo;

cela se passe sans problème.
Le hic, c'est que lorsque je tente de remodifier cette variable de
session via

$_SESSION['foo'] = $new_foo;

PHP l'enregistre comme si j'avais fait

$_SESSION['foo'] .= $new_foo;


Trouvé ça dans www.php.net chapitre SESSIONS :
The session variable is still lost when navigating even if I change
$setting or $_SESSION['setting']. If you assign a session subscript/key
to the same name as a variable, the session variable will be volatile
and lost upon navigating. For example, if passing a setting that you
want in $_SESSION, don't do this:

<?
$setting = $_REQUEST['setting'];
if (!empty($setting))
$_SESSION['setting'] = $setting;
?>

Instead, rename $setting or $_SESSION['setting'].

Ca ressemble bien à ton cas...