Gestion de session et navigateur (php? js?) [Résolu/Fermé]

Signaler
Messages postés
11
Date d'inscription
mardi 2 décembre 2008
Statut
Membre
Dernière intervention
28 mars 2009
-
Messages postés
11
Date d'inscription
mardi 2 décembre 2008
Statut
Membre
Dernière intervention
28 mars 2009
-
Bonjour,

Je suis actuellement entrain de developper mon propre site web en php (un peu de java scripte mais ne m y connaissant pas trop je prefere l eviter a moin de ne pas avoir le choix).
Je dispose sur mon site d'une gestion utilisateur. Une personne se connecte et automatiquement dans la database sa valeur de log passe a 1. Elle se deconnecte et passe a 0.

Le probleme est le suivant:
si l'utilisateur ferme la fenetre ou l'onglet de son navigateur, j'aimerais que sa valeur de log dans la db passe a 0.
Ci-dessous un exemple de que j'aurais souhaiter faire. (le seul probleme etant la condition en faite). Mais puis-je reellement faire quelque chose de se style? cela ne fait que 2 semaines que je me suis attaquer au developpement web donc...

<?php
if (click fermeture.windows || click fermeture.onglet)
{
echo '<script type="text/javascript">
<!--
window.location="deconnexion.php";
//-->
</script>';
}
?>

Apres avoir retourner le probleme dans tout les sens et chercher pendant des heures sur le net, je m'en remet a vous.


Voici un lien vers mon site qui dispose pour le moment d'une adresse provisoire. Excusez la lenteur mais je n ai quasiment pas de bande-passante.

http://78.101.74.143/my_web/

Merci d'avance pour votre aide.

4 réponses

Messages postés
1699
Date d'inscription
lundi 15 septembre 2003
Statut
Contributeur
Dernière intervention
4 septembre 2010
526
Salut,

Pour gérer les sessions d'utilisateurs (ce que tu veux faire) il serait préférable de ne pas passer par la pb.

Lorsque ton utilisateur s'est authentifié, tu ouvres une session et tu rajoute une variable LOG=1
Ainsi sur toutes tes pages tu peux tester rapidement s'il est loggué ou pas.

Lis ceci ça à l'air de ressembler à ce que tu veux faire : http://www.phpdebutant.org/article69.php

++

PS : selon moi ne sont à stocker dans la bd que les choses que tu veux vraiment garder et non pas l'état de connexion à un instant T d'un utilisateur (dans la mesure du possible bien sur)
Messages postés
11
Date d'inscription
mardi 2 décembre 2008
Statut
Membre
Dernière intervention
28 mars 2009

Merci beaucoups pour votre reponse je vien de decouvrir la chose suivante :

N'oubliez pas également que la session, à la différence du cookie, n'est valable qu'un temps limité (aux alentours des 30 minutes, mais cela dépend de la configuration de votre serveur), et est automatiquement détruite à la fermeture du navigateur du visiteur.

Je vais donc retirer la gestion de session de ma db et passer uniquement par la gestion session php.
Cependant ils parlent de "configuration de votre serveur" pour le temp limite. je ne sais pas encore ou trouver ca je vai chercher et si je ne trouve pas ben... :)
Messages postés
1699
Date d'inscription
lundi 15 septembre 2003
Statut
Contributeur
Dernière intervention
4 septembre 2010
526
pour l'histoire du temps des sessions, cela dépend de ton serveur (apache surement). Dans ce cas là c'est le fichier php.ini


https://cyberzoide.developpez.com/php4/faqsession/#life

Messages postés
11
Date d'inscription
mardi 2 décembre 2008
Statut
Membre
Dernière intervention
28 mars 2009

Merci beaucoups pour ton supplement d'information sur les temps des sessions, cela m a beaucoups aider.

++