Désolé, j’ai fait une recherche sur le site, mais 1) les titres des topics ne parlaient pas de ce que je veux, 2) la flemme de lire tous les sujets étant donné que le site est très lent à cette heure.
Voilà, j’ai un petit soucis, mais alors très léger, concernant les sessions PHP. J’ai remarqué que, lors d’une création de session, un fichier (contenant les informations de session) est créé sur le serveur (pour easyphp : install_de_easyphp/tmp/). Or, lorsque l’utilisateur ne se déconnecte pas correctement (en cliquant sur le lien “se deconnecter”), ce fichier n’est pas supprimé. La session suivante ne reprendra pas ce fichier comme fichier de session, mais en créera un nouveau.
J’ai donc eu l’idée de stocker l’id de session dans la base de données. Lors d’une connexion d’un utilisateur, je récupère le numéro de session précédent (stockée dans la bd), je démarre une session (notons là s1) avec cet id et je la détruit. Puis j’en démarre une nouvelle (s2), avec un id généré aléatoirement par php. Les valeurs de sessions sont correctement sauvées. Enfin, je redirige vers mon index.php. Et là, patatra, il ne récupère pas les données de session! Pourtant le fichier de session est correctement créé sur le serveur, avec des valeurs dedans (j’ai regardé).
Lors de différent tests, je confirme que s2 est correctement créée, avec un id différent de id de s1. J’ai passe également le numéro de session dans l’url (je n’utilise pas encore les cookies). Je ne vois pas du tout où est le problème !!!
Petite précision : je me prend la tête, certe, mais la plupart des utilisateurs ne prennent pas le temps de cliquer sur le bouton de deconnection. Et donc les fichiers s’accumulent (jusqu’à remarqué ce soucis, j’en avais bien une 50aine).
Enfin, sans toute cette mascarade, le script marche impec.