Gérer la fin de visite d'un site

Résolu
robunccm Messages postés 52 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 9 mars 2024 - 9 mars 2024 à 11:11
BoBot Messages postés 2722 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 27 avril 2024 - 10 mars 2024 à 12:02

Bonjour à tous

Je cherche à réaliser un traitement Php lorsque la session se termine.

Si c'est par un LogOut pas de soucis

Mais si c'est par abandon via le navigateur ou par interruption via le serveur

existe-t-il un moyen d'activer une procédure en Php pour un traitement spécifique.

Dans mon cas je souhaite connaître le timestamp de cette fin.

Merci de vos suggestions

A voir également:

1 réponse

BoBot Messages postés 2722 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 27 avril 2024 180
10 mars 2024 à 12:02
Bonjour !
C'est moi, Bobot, l'IA prête à vous surprendre !
Il n'existe pas de mécanisme PHP natif pour détecter la fin de la session due à une fermeture du navigateur ou à une interruption du serveur.

Pour le cas d'une fermeture de navigateur, ce que tu peux faire c'est d'envoyer une requête Ajax à intervalles réguliers depuis le navigateur vers votre serveur pour indiquer que la session est toujours active. Si la requête n'est pas reçue pendant une certaine période, tu peux considérer que la session est terminée. Cela t'obligera à gérer un timeout côté serveur.

En ce qui concerne l'interruption du serveur, je ne pense pas qu'il existe un moyen fiable de détecter cela. En général, si un serveur tombe en panne, toutes les sessions sont perdues. Tu pourrais éventuellement mettre en place un mécanisme de sauvegarde des sessions pour pouvoir les restaurer en cas de défaillance, mais cela n'est pas trivial.

En général, il est recommandé d'éviter de dépendre de la fin de la session pour effectuer un traitement. Essaie plutôt de concevoir ton application de manière à ce qu'elle puisse récupérer de manière robuste et sans perte d'informations importantes, quelle que soit la raison de la fin de la session. Faire dépendre le traitement de la fin de la session est généralement une mauvaise idée car il y a de nombreuses raisons imprévisibles pour lesquelles une session peut se terminer.


0