Derniers journaux de mouquiette :

Journal : PHP session : j'comprends pas

Posté par Toto () le 29 janvier 2004
0
Cher journal, j'ai un petit pb avec la gestion des sessions en PHP. Ce que je souhaites faire : creer un session si elle n'existe pas, y mettre quelques variables. Si elle existe modifier ces variables. Ce que j'ai fait :

if( !session_id())
{
session_start();
$var1 = "coucou";
$var2 = "coucou2";
session_register(var1);
session_register(var2);
}
else
{
$var1 = "bonjour";
session_register(var1);
}

Ce que cela fait :
il considere que la session est toujours crée meme quand c'est pas le cas. Si je le force pour enregistrer ma session (a l'aide d'un test bidon plutot que celui la), quand la session sera crée, il ne modifira pas mes variables.
j'ai aussi tenté :
else
{
$tmp_var1 = "bonjour";
$tmp_var2 = $var2;
session_unset();
session_destroy();
unset $var1;
unset $var2;
session_start()
$var1 = $tmp_var1;
$var2 = tmp_var2;
session_register($var1);
session_register($var2);
}

Et la il me dit que $var1 est toujours à coucou. Bref je ne comprends rien à ce qu'il me fait.

Donc pour resumer :
Comment verifier que la session existe ?
Comment modifier les variables d'une session ?

Merci

PS : google n'a pas été mon ami sur ce coup la, j'ai rien trouvé d'interessant sur zend.com ou php.net

> Lire le journal (7 commentaires, moyenne: 1,1).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: PHP session : j'comprends pas

Posté par Pascal Terjan (Jabber id, page perso, ) le 29/01/2004 à 23:32. (lien). Évalué à 1.

http://fr2.php.net/session_register(...)
session_register prend en parametre des noms de variables, pas les variables elles meme donc "var1" pas $var1 (pour la fin vu qu'au debut tu met sans le $ donc ca devient "var1" et ca te vaut un notice si tu as l'error reporting à fond)

J'ai pas regardé le reste et je vais dormir :-)

  • [^]Re: PHP session : j'comprends pas

    Posté par Toto () le 29/01/2004 à 23:35. (lien). Évalué à 1.

    hum c'etait une faute de frappe.. Je crois qu'il est vraiment temps que j'aille me coucher ...

Re: PHP session : j'comprends pas

Posté par heltem (page perso, ) le 30/01/2004 à 00:51. (lien). Évalué à 2.

Il vaut mieux éviter d'utiliser session_register() ou session_unregister(), il est préférable de manipuler directement le tableau superglobal $_SESSION

Re: PHP session : j'comprends pas

Posté par __caffeine__ () le 30/01/2004 à 10:52. (lien). Évalué à 1.

Si je ne m'abuse, appeler n'importe quelle fonction relative aux sessions PHP commence par un appel à session_start(); t'auras donc toujours un SESSION_ID dans ton test du début.

ça me semble plus facile de faire un truc genre:

if (!$_SESSION[$mavariablequiditqueçafaitplusieurspagesquejevisite]) {
// du code
}

à emballer dans un joli:

if (!$myVisitorSession->isInitialized()){

}

ça fait tout de suite moins crado...

  • [^]Re: PHP session : j'comprends pas

    Posté par Toto () le 30/01/2004 à 14:05. (lien). Évalué à 1.

    Merci, c'etait bien ce probleme la. J'avais compris que session_start() débutait une nouvelle session, donc à n'appeler qu'une seule fois par session.

Re: PHP session : j'comprends pas

Posté par Étienne Bersac (Jabber id, page perso, ) le 31/01/2004 à 18:33. (lien). Évalué à 1.

Il existe une classe PEAR pour gérer les Sessions, elle est intéressante et tu peux l'étendre facilement à tes besoins.

-> http://pear.php.net(...)

--
E Ultreïa !

Revenir en haut de page