PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → Gestion de la fermeture de session
Gestion de la fermeture de session
Iniciado por ludovic;berthon, jan., 16 2004 4:48 PM - 6 respostas
Publicado em janeiro, 16 2004 - 4:48 PM
Je suis abonné aux LST de PCSOFT depuis janvier 2003 (LST52),
et je cherche à gérer la fermeture des sessions utilisateurs sur le serveur
lorsqu'ils ferment leur navigateur.
Apparemment la solution a été donnée par pcsoft dans la LST 51, quelqu'un
aurait-il l'exemple du code utilisé à me fournir.

Merci d'avance.

Ludo
Publicado em janeiro, 19 2004 - 10:20 AM
Slt Ludo

Sur le laser de la LST il y a un répertoire d'archive contenant les 3
dernières LST (notamment les exemples). Regarde sur le livret normalement
ils indiquent le chemin pour les décompresser (du moins c'était le cas il y
a 2 ans).

A+

Alain V

"ludovic Berthon" <ludovic;berthon@sofedis.fr;> a écrit dans le message de
news:4007fa72@news....

Je suis abonné aux LST de PCSOFT depuis janvier 2003 (LST52),
et je cherche à gérer la fermeture des sessions utilisateurs sur le

serveur
lorsqu'ils ferment leur navigateur.
Apparemment la solution a été donnée par pcsoft dans la LST 51, quelqu'un
aurait-il l'exemple du code utilisé à me fournir.

Merci d'avance.

Ludo

Publicado em janeiro, 23 2004 - 1:02 PM
Alain, j'ai intégré dans mon projet les principes que tu as utiliser pour
détecter la fermeture de la session par la croix du navigateur et cela fonctionne
tres bien. Pour rappel il s'agit de mettre dans le code OnUnload d'un frame
de la page, l'appel à une page de fermeture dont le seul but est d'executer
une procedure serveur pour finaliser la fermeture de session.

Mon souci aujourd'hui est que ceci s'execute lors de la fermeture par la
croix, tres bien, mais egalement lors de l'actualisation de la Page (btn
actualiser ou F5) ce qui est problematique.

Peut etre a tu remarqué ceci sur ton propre site et trouvé une parade?

"SFCI Conseil - Alain V" <sfci.conseil_NoSpam@wanadoo.fr>
Publicado em janeiro, 23 2004 - 5:49 PM
Slt Christophe.

En fait le principe est simple.

A L'initialisation de ta frame concernée tu mets à jour un champ invisible
(Chp_Deconnection) à "O" (Oui) puis dans le code navigateur de tes boutons
par exemple tu mets le même champ à "N" (Non) puis dans le code serveur tu
le mets à "O" (un bouton soumet au serveur, donc ta frame se ferme = "N je
ne veux pas déconnecter la session. Puis tu traite ton code sur le serveur
avec une recréation de ta page par le serveur mais le contexte est toujours
présent => lors de la ré-apparition sur le navigateur le serveur mets à O
ton champs => imitation de l'initialisation).

Comme le code de fermeture se trouve dans un code navigateur tu contrôle le
champ (dynamique bien entendu) et tu autorises la déconnection si
Chp_Deconnection est à "O".

En fait pour plus de simplicité il faut une seule frame cachée (1 pixels)
dans lequel tu mets un code de déconnection sans contrôler puisque la frame
caché à pour but de ne jamais se fermer sauf lors de la fin de l'utilisation
ou au cours d'une déconnexion sauvage (par la X) : dans ce cas tu peux te
passer de ce que je viens d'écrire (et c'est beaucoup moins lourd).

Mais comme pour tout les premiers projet on ne songe pas à utiliser les
frames support.

Alain V

"Christophe" <christophe.bar@edi.fr> a écrit dans le message de
news:4011009b@news....


Alain, j'ai intégré dans mon projet les principes que tu as utiliser pour
détecter la fermeture de la session par la croix du navigateur et cela

fonctionne
> tres bien. Pour rappel il s'agit de mettre dans le code OnUnload d'un
frame
de la page, l'appel à une page de fermeture dont le seul but est

d'executer
une procedure serveur pour finaliser la fermeture de session.

Mon souci aujourd'hui est que ceci s'execute lors de la fermeture par la
croix, tres bien, mais egalement lors de l'actualisation de la Page (btn
actualiser ou F5) ce qui est problematique.

Peut etre a tu remarqué ceci sur ton propre site et trouvé une parade?

"SFCI Conseil - Alain V" <sfci.conseil_NoSpam@wanadoo.fr>
Publicado em janeiro, 28 2004 - 11:58 AM
Alain, merci pour les conseils que j'ai appliqué mais qui resolve que partielement
mon probleme. En effet, le coup de la frame invisible qui detecte la fermeture
ne pose aucun probleme tant que l'utilisateur ne decide pas d'actualiser
son navigateur. En effet dans ce cas on ne clic pas sur la Croix mais le
resultat est le meme, le frame est decharger et recharger et donc la session
ce ferme.

Donc Pb, comment differencier le Clic sur la Croix du Bouton Actuliser ou
F5 ??
Publicado em janeiro, 28 2004 - 11:58 AM
Alain, merci pour les conseils que j'ai appliqué mais qui resolve que partielement
mon probleme. En effet, le coup de la frame invisible qui detecte la fermeture
ne pose aucun probleme tant que l'utilisateur ne decide pas d'actualiser
son navigateur. En effet dans ce cas on ne clic pas sur la Croix mais le
resultat est le meme, le frame est decharger et recharger et donc la session
ce ferme.

Donc Pb, comment differencier le Clic sur la Croix du Bouton Actuliser ou
F5 ??
Publicado em janeiro, 28 2004 - 5:12 PM
Slt Christophe

En effet, s'il réactualise le site on change de session donc ce n'est plus
le même internaute (règle de base : tu es sur un site et tu décide d'aller
sur un autre site => tu tape l'URL dans la ligne d'adresse et tu reste ainsi
dans le même navigateur).

On considère donc que s'il y changement de l'URL (et l'administrateur WEBDEV
le comprend ainsi puisque tu verra l'ID utilisateur changer => fait le test
sur ta machine de développement) => dans ce cas on ferme la page en cours
(toute la frameset) donc on ferme aussi la session puisque WEBDEV
l'abandonne.

Le "rafraîchissement" de page joue le même rôle qu'un changement d'URL.

Donc le système de fermeture de session mis en place joue parfaitement son
rôle. Tu peux tester le principe sur différent site sur internet : navigue
sur qq page puis réactualise, tu remarquera alors une perte d'information ou
un retour à la page d'accueil (ce qui se passe avec WEBDEV) sauf si du site
principal tu vas sur un autre site qui respecte parfaitement la charte
graphique du site principal (un des moyens de résoudre qq problèmes
technique matériel pour orienter sur un autre serveur)

Il faut bien savoir qu'un "rafraîchissement de page" sur internet rappel
assez souvent la page d'accueil. Techniquement tu ne peux pas décider
d'intercepter ce "rafraîchissement" pour dire à l'internaute : "je
t'interdit de rafraîchir sinon je fait tout sauter".

Il y a peu d'être d'autres personnes qui pourraient te présenter plus
clairement la notion de "rafraîchissement" de page par les icônes de
navigateurs (IE, Mozilla, NetScape...).

J'espère être resté clair dans mes explications pas franchement évidentes.

A +

Alain V

"Christophe" <christophe;bar@edi.fr;;> a écrit dans le message de
news:4017892a@news.pcsoft.fr...


Alain, merci pour les conseils que j'ai appliqué mais qui resolve que

partielement
> mon probleme. En effet, le coup de la frame invisible qui detecte la
fermeture
ne pose aucun probleme tant que l'utilisateur ne decide pas d'actualiser
son navigateur. En effet dans ce cas on ne clic pas sur la Croix mais le
resultat est le meme, le frame est decharger et recharger et donc la

session
ce ferme.

Donc Pb, comment differencier le Clic sur la Croix du Bouton Actuliser ou
F5 ??