8791 sujets

Développement web côté serveur, CMS

Bonjour à tous

J'utilise depuis un bon moment le même système de connections et déconnections, cela fonctionne ainsi.

Un code md5 est stocké dans un table users dans un champ session. Quand l'utilisateur ouvre une page, un code test si il y a une session qui correspond à celui ci, si il y en a, cela ouvre les droits correspondant à son statut, si il y en a pas il regarde si un cookie correspond, si il n'y a pas de cookie non plus, alors l'utilisateur est anonyme.

Une fois l'utilisateur connecté il peut se déconnecté via un "logout" qui appelle un fichier au code très simple :

setcookie('session', '0', 1);
session_unset();
session_destroy();

header("Location: index.php");
exit();


Qui a, jusqu'à hier, toujours bien marché, et là, à ma grande surprise je viens d'installer un site sur un serveur et j'ai beau cliquer sur logout et rien ne se passe!

Le site et sur un sous domaine dans un sous dossier ce que est sûrement lié.

Je me demande donc quelle serait la méthode universelle pour se déconnecté que l'on soit dans un sous domaine ou un sous dossier
Modifié par matmat (08 Sep 2008 - 16:54)
Hello matmat Smiley smile ,

je n'ai jamais eu le cas mais j'ai l'habitude de toujours préciser le parh ('/' pour les cookies de session) et il existe également le paramètre domain qui permet de spécifier les sous-domaines.

Le mieux est de regarder la doc sur setcookie.

A+
Merci Heyoan,

Effectivement c'était bien ça, un cookie devait rester dans le navigateur.

Selon la doc :

a écrit :

path
Le chemin sur le serveur sur lequel le cookie sera disponible. Si la valeur est '/', le cookie sera disponible sur l'ensemble du domaine domain . Si la valeur est '/foo/', le cookie sera uniquement disponible dans le répertoire /foo/ ainsi que tous ces sous-répertoires comme /foo/bar/ du domaine domain . La valeur par défaut est le répertoire courant où le cookie a été défini.
domain