Bonjour à tous.
Je suis en-train de réaliser un site web sur lequel peuvent s'inscrire puis se connecter des utilisateurs.
Dans ma base de données, une variable vaut 1 lorsque l'utilisateur est connecté et 0 lorsqu'il ne l'est pas.
Lors de la connexion à un compte, le serveur regarde dans la base de données si cette variable est à 1 et ne permet de se connecter que si la variable et à 0 afin d'éviter que deux personnes soient connectées en même temps sur le même compte.
Je suis alors confronté à un gros problème beaucoup discuté et toujours sans réponse (sauf une très compliquée) :
J'ai un bouton de déconnexion qui permet de déconnecter l'utilisateur lorsqu'il clique dessus. Seulement, l'utilisateur ne clique pas toujours sur ce bouton en quittant le site : il peut tout simplement fermer le navigateur. Et cela doit le déconnecter dans la base de donnée (et mettre la "variable de connexion" à 0.
Il faudrait alors envoyer une requête SQL au serveur pour changer la valeur de cette variable, mais lorsque l'utilisateur a fermé son navigateur, le serveur ne peut plus effectuer de requêtes SQL.
J'ai vu sur un site que je pouvais utiliser l'exécution périodique d'un script php (http://matthieu.developpez.com/execution_periodique/) mais cela est relativement compliqué.
J'ai alors pensé à envoyer des requêtes SQL à chaque changement de page, mais cela est beaucoup trop "lourd" et trop lent sur un ordinateur dont la capacité de mémoire est assez faible et où la connexion à Internet et lente.
J'aimerais que vous me donniez votre avis sur cette dernière solution ainsi que sur l'exécution périodique d'un script PHP ou que vous m'en proposiez une autre si vous en avez une meilleure.
Bien cordialement.
Grégory.