IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Durée connexion session


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Durée connexion session
    Salut à tous,

    Une petite question pour les connaisseurs :
    Est-ce possible d'avoir la durée de connexion de chaque utilisateur qui se connecte à un espace membre, stocker l'info dans une base sql et incrémenter cette durée à chaque nouvelle connexion, pour avoir la durée totale de connexion de chaque utilisateur à son espace membre.
    Ex :
    Gringo se connecte aujourd'hui 5min.
    lorsqu'il se déconnecte, on ajoute 5min à son profil dans la base de donnée.
    le lendemain il se reconnecte 10mn.
    en se déconnectant on lui ajoute les 10 minutes.
    si je regarde son profil, j'ai le total de ses connexions, soit 15mn...

    Des scripts du genre existentent-ils ?
    Des idées ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    bonjour,

    qu'est ce qui te bloque sur la réalisation de ceci ?

    le seule point délicat et que les utilisateurs risquent de ne pas se deconnecter mais de simplement fermer leur navigateur, et ca tu ne peux pas le detecter.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Hello,

    eh bien pour commencer à réaliser la chose, faudrait juste que je sache comment calculer la durée d'une connexion en fonction de la session.

    Le reste, à savoir, récupérer la durée, la mettre ds une variable, l'insérer ds la base... devrait être à ma portée je pense.

    C'est pas faute d'avoir cherché sur le forum (ici et ailleurs) mais pas trouvé vraiment ce que je cherchais...

    Thx

  4. #4
    Membre confirmé Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Par défaut
    Bonjour,

    Tu peux par exemple, au moment où la session est crée, essayer d'insérer dans la BDD la date / heure du moment.
    Au moment où la personne se déconnecte, tu fais le calcul entre la date de création et la date du moment.
    Mais comme le dit sabotage, le problème c'est quand la personne ferme son navigateur Internet, tu ne peux pas le détecter.

    Après tu peux partir du principe que si l'utilisateur n'a pas chargé de page au bout de x minutes, il est déconnecté (pour cela il faut faire la vérification au chargement de chaque page).

  5. #5
    Invité
    Invité(e)
    Par défaut
    Trés bien tout ça,

    Pour faire simple et avancer etape par etape, on part du principe que tous les users s'efforceront de se déconnecter "proprement" à la fin de leurs sessions.
    Maintenant j'avoue sécher devant la création du bout de code pour :
    "...au moment où la session est crée, essayer d'insérer dans la BDD la date / heure du moment. Au moment où la personne se déconnecte, tu fais le calcul entre la date de création et la date du moment...."

    une idée ou un exemple sur la syntaxe de ce morceau de code ?

    Thx

  6. #6
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    Connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_SESSION['utilisateur'] = $login;
    mysql_query('UPDATE users SET derniere_connexion='.time().' WHERE user_id="'.$login.'"');
    Déconnexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $derniere_connexion = mysql_result(mysql_query('SELECT derniere_connexion FROM users WHERE user_id="'.$_SESSION['utilisateur'].'"'),0,'derniere_connexion');
    $temps_connexion = time() - $derniere_connexion;
     
    echo "Utilisateur connecté durant ".$temps_connexion." s";
    // Update du temps de connexion total du user ?
     
     
    unset($_SESSION['utilisateur']);
    session_destroy();
    Code non testé.

Discussions similaires

  1. [phpMyAdmin] Problème de durée de session sous phpMyAdmin
    Par AAlain dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 25/01/2011, 19h05
  2. [Cookies] limiter durée de session
    Par flydragon dans le forum Langage
    Réponses: 12
    Dernier message: 14/06/2006, 16h03
  3. [Sécurité] Problème durée de session
    Par flydragon dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2006, 09h19
  4. [JSF] Durée des sessions
    Par bslota dans le forum JSF
    Réponses: 1
    Dernier message: 18/01/2006, 10h04
  5. [VB.NET] Durée de session limitée ?
    Par Pari dans le forum ASP.NET
    Réponses: 3
    Dernier message: 28/04/2004, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo