SaveC
Messages postés13Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention28 juillet 2005
-
28 juil. 2005 à 10:56
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
28 juil. 2005 à 14:39
Bonjour à tous,
Je cherche à vérifier si un utilisateur connecté à mon site possède un Identifiant de session déterminé.
J'ai trouvé sur la doc PHP, la fonction msession_find(), mais je ne sais pas l'utiliser.
Peut-etre est-il possible d'utiliser msession_list ou msession_listvar ???
Je suis à la recherche du code souce me permetant de résoudre mon problème.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 28 juil. 2005 à 11:04
Hello,
quand tu as un utilisateur sur ton site, une session est cree pour lui.
Quand tu en as un second, idem.
Mais il faut voir ceci comme un autre script...tu ne pourras pas voir
les differentes sessions, a part en fouillant le repertoire de
sessions. ce qui ne t'aidera pas beaucoup en fait...
ceci dit, l'identifiant de session en cours, c'est le session_id ().
je cherche justement à utiliser la fonction msession_find() pour vérifier si un SESSION_ID n'est pas en cours d'utilisation chez un utilisateur de mon site.
Si tu as un exemple de code, cela résoudrait mon problème.
en même temps vu que cette fonction n'est pas documentée, bah tu bois
le bouillon... Bref sinon si tu peux tu ouvres le répertoire des
sessions et tu le scannes, m'enfin bon c'est pas à conseiller car ça
peut être désactivé sur les hébergements mutualisés :-)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 28 juil. 2005 à 12:47
Non parce que c'est impossible, a moins de lire les sessions dans le repertoire, comme je te l'ai dit plus haut.
Chaque $_SESSION est unique a la session php lancee sur ton serveur. Si
tu fais un print_r ($_SESSION) tu te rendras bien compte que tu ne
verras que la session en cours. Le resultat sera donc different pour
chaque utilisateur.
SaveC
Messages postés13Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention28 juillet 2005 28 juil. 2005 à 12:57
OK, mais si je cherche les sessions en cours dans le repertoire (avec : ini_get('session.save_path') ), je trouve aussi des vieilles sessions provenant d'utilisateurs déconnectés.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 28 juil. 2005 à 13:04
ouais, donc une fois que tu scannes le dossier, tu utilises la fonction
filemtime() pour savoir si le fichier est plus vieux ou pas que ce que
tu souhaites garder
SaveC
Messages postés13Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention28 juillet 2005 28 juil. 2005 à 13:12
Cette solution ne convient pas exactement à mon problème.
Je vous explique tout :
je pensais pouvoir utiliser les SESSION_ID comme identifiant de connexion sur mon site.
L'idée est d'enregistrer dans la base mysql le SESSION_ID, puis le supprimer en cas de déconnexion de l'utilisateur.
Hors, si je ne peux tester si un SESSION_ID existe toujours, alors je ne peux pas savoir si je peux supprimer l'enregistrement de ma base de donnée.
Donc, mon problème reste entier sous windows.
Peux-etre est-il possible de trouver une autre moyen ?
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 28 juil. 2005 à 13:14
Bah tu ne pourras jamais savoir si il existe toujours en tant que
connecté sur ton site. Tu peux savoir si le session id existe toujours
si le filemtime() du fichier session est supérieur au time()-ini_get('session.gc_maxlifetime')
mais tu veux faire quoi exactement avec ton script ?