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

Langage PHP Discussion :

Destruction d'une session par rapport à un ID


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut Destruction d'une session par rapport à un ID
    Bonjour à tous!

    J'ai cherché un peu partout, et j'avoue ne pas avoir trouvé la solution à mon problème. Etant d'un naturel aventureux, j'ai tenté de le faire au feeling, mais bizarrement ça n'a pas marché

    Que je vous explique. Je cherche à faire quelque chose qui me semblait somme toute assez simple, à savoir, lorsqu'un utilisateur se connecte sur mon site, une session est créée et j'aimerais qu'il ne puisse pas y avoir deux connections concurrentes, donc si il y a une autre connection avec le même ID utilisateur, l'ancienne session est détruite.

    J'avais pensé alors à quelque chose du goût de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [...] // Requête qui récupère dans $row les infos de l'user en cours
    if ($row['last_session'] != null){
    	session_id($row['last_session']);
            session_destroy();
            session_start();
    }
    $id = $row['id_user'];
    $request = "UPDATE users SET last_session='".session_id()."' WHERE id_user=".$id;
    // execution de la requête
    Alors là fait étrange, si je me connecte avec deux postes, ils partagent apparemment la même session, mais le comportement est totalement erratique, j'ai essayé avec un regenerate_id(), des fois je vois même les infos d'un autre utilisateur quand je clique sur le site...

    Y'a t'il donc un moyen simple de supprimer une session sur le serveur selon son id (comment résumer simplement beaucoup de blabla ) ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Pourquoi ne pas simplement creer une variable de session qui contiendrait un parametre que tu verifierais chaque fois que c'est necessaire ?
    Si ce parametre existe ou a une valeur precise, alors c'est deux connexions concomitantes, donc tu supprimes la precedente. Jamais fait avant mais ca devrait etre dans ce gout la ^_^

  3. #3
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Ca sous entend de passer par la base de donnée, vu que c'est le seul moyen de partager la donnée entre deux sessions.

    Et en y avant réfléchis, ça me semble compliqué, car en l'occurence comment être sûr que je n'autodétruise pas moi même ma session.

    Par exemple imaginons que je mettes en base un flag qui soit à 1 quand je me connecte, et lorsqu'un autre se connecte sur le même compte, le flag est activé, donc je détruis ma session (ou alors je change le flag à 2, et c'est la première session qui est détruite). Jusque là ça va. Mais quand désactiver le flag? Parce que la durée d'une session est tout ce qu'il y a de plus aléatoire, elle peux durer les 20 minutes de base, ou bien encore 1h pour peu que mon bonhomme reste connecté longtemps. Et c'est là pour moi que le bat blesse, je ne vois pas trop comment traiter ce cas là...

Discussions similaires

  1. effectuer une moyenne par rapport à un champ
    Par djejackk dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/05/2005, 11h59
  2. Initialisation d'une colonne par rapport à une autre colonne
    Par jeromesco dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/04/2005, 17h15
  3. [JCombobox] modif d'une jcombobox par rapport à une autre
    Par The Wretched dans le forum Composants
    Réponses: 2
    Dernier message: 21/03/2005, 10h35
  4. Afficher une fenetre par rapport a une autre
    Par luffy0013 dans le forum MFC
    Réponses: 4
    Dernier message: 14/02/2005, 21h16
  5. Réponses: 6
    Dernier message: 28/12/2004, 16h09

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