Gestion de session et navigateur (php? js?)

Résolu/Fermé
felaris Messages postés 11 Date d'inscription mardi 2 décembre 2008 Statut Membre Dernière intervention 28 mars 2009 - 2 déc. 2008 à 10:41
felaris Messages postés 11 Date d'inscription mardi 2 décembre 2008 Statut Membre Dernière intervention 28 mars 2009 - 2 déc. 2008 à 22:51
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.
A voir également:

4 réponses

Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
2 déc. 2008 à 11:06
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)
0
felaris Messages postés 11 Date d'inscription mardi 2 décembre 2008 Statut Membre Dernière intervention 28 mars 2009
2 déc. 2008 à 11:22
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... :)
0
Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
2 déc. 2008 à 11:54
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

0
felaris Messages postés 11 Date d'inscription mardi 2 décembre 2008 Statut Membre Dernière intervention 28 mars 2009
2 déc. 2008 à 22:51
Merci beaucoups pour ton supplement d'information sur les temps des sessions, cela m a beaucoups aider.

++
0