Rechercher :
Accueil » Sessions Connexion

Question Comment vérifier que les sessions fonctionnent ?
Réponse Le probléme de multiplication des sessions est provoqué par la fonction session_set_cookie_params() qui redéfinie les paramétres des cookies du php.ini.
Cette fonction définit 4 paramétres :
session_set_cookie_params ( int lifetime [, string path [, string domain [, bool secure]]])

elle est appelée dans application_top.php (cad dans toutes les pages d'osc) :

Code:
if (function_exists('session_set_cookie_params')) {
     session_set_cookie_params(0, substr(DIR_WS_CATALOG, 0, -1));
}


le 2éme paramétre défini le path du cookie, et c'est celui là qui pose probléme. En effet si ce paramétre n'a pas la valeur suivante : "/nomcatalogue/" la création du cookie echoue et les sessions partent en sucette du coup...
En fait, le plus important est de bien avoir un slash avant et apres le nom du catalogue...

CORRECT:
session_set_cookie_params (0, '/catalog/');

INCORRECT:
session_set_cookie_params (0, '/catalog');

Un simple test permet de savoir si vous créez correctement vos sessions. Car si cela n'affecte pas réellement le fonctionnement d'osc par la gestion des id sessions dans l'URL (qui reprends la main sur le cookie). Cela peut être génant si vous voulez gérer des informations hors connexion ou hors panier rempli.

mettez dans application_bottom.php par ex.
echo "<b>".session_id()."</b><br>";

et regardez si l'ID de session reste bien stable entre les pages quand vous n'étes pas connecté et que vous n'avez pas sélectionné d'articles.
Auteur : cochien Mise à jour le 11/06/2006

Retour