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 :

PHP SESSION Navigateurs


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 42
    Par défaut PHP SESSION Navigateurs
    Bonjour,

    Je suis en train de faire un site Internet avec une authentification des utilisateurs. pour cela, je mets en place des sessions. Avec un formulaire pour s'identifier.

    Le problème que je rencontre actuellement est que si je me connecte avec un utilisateur A; si j'ouvre un autre onglet avec le même navigateur (ou une autre fenêtre toujours avec le même navigateur), et que je me connecte avec un utilisateur B, j'obtiens en raffraichissant mon onglet avec l'utilisateur A mon utilisateur B.

    Cela provient des sessions, puisque je stocke mon login et mon mot de passe dedans et quand je me connecte avec mon utilisateur B, forcément il écrase les logins et mots de passe de l'utilisateur A.

    J'ai vu plusieurs tutoriels sur comment mettre en place une interface d'authentification; mais je ne sais pas quoi faire concernant ce problème.

    Ce qui serait bien: c'est si mon utilisateur B se connecte dans un autre onglet après l'utilisateur A, alors l'utilisateur A est déconnecté automatiquement. Ou bien si quelqu'un a une idée. Je prends !

    Merci encore et à bientôt

  2. #2
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    Tu doit vérifier avant d'accepter un login, qu'il n'y a pas déjà dans tes variables sessions un utilisateur logué

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Par défaut
    Lors de la déconnexion d'un utilisateur, il faut :
    -démarrer la session : session_start();
    -détruire les variables de la session : session_unset();
    -détruire la session : session_destroy();
    -redirection vers la page d'accueil : header ('location: index.php');

    De plus : si tu utilises des cookies, il faut les supprimer avec soit :
    -setcookie("nom_du_cookie");
    -setcookie("nom_du_cookie","",0,"/","",0); : Envoi du cookies dont la date d'expiration est passée

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 42
    Par défaut
    Bonjour et merci pour vos réponses,

    Concernant la réponse de Patrickbaras, j'ai fait ce test (et cela fonctionne). Cela évite, en effet qu'un deuxième utilisateur se connecte. Mais j'aurais souhaité que si un autre utilisateur se connecte, alors le premier se déconnecte automatiquement.

    Pour la réponse de vinceom92, Dans ma page de connexion, je commence par un session_start() (forcément), puis dans ma page de redirection, je vérifie que le login et mot de passe existe dans mes variables de session. Dans cette page de redirection, j'ai mon bouton de déconnexion qui utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_SESSION = array(); // pour vider les variables de session, puis je fais un
    session_destroy(); // pour détruire la session. 
    header('location: index.php'); //Je termine ensuite par ma redirection avec un header.
    En fait, ce qui me gène, c'est si mon utilisateur B (qui s'est connecté après mon utilisateur A) se déconnecte. Je reviens sur ma page de connexion. A ce moment, ma session n'existe plus. Je n'ai pas rafraichi l'onglet ou se trouve l'utilitsateur A. Si je me reconnecte avec un nouvel utilisateur (utilisateur C), mon onglet avec mon utilisateur A se retrouve avec l'utilisateur C lors du rafraichissement, alors que je souhaiterais qu'il me renvoie un message d'erreur (par exemple).

Discussions similaires

  1. [AJAX] Ajax, Php, Sessions, OScommerce
    Par Florent08800 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/05/2006, 10h57
  2. Réponses: 18
    Dernier message: 11/05/2006, 10h32
  3. [SOAP / PHP] Sessions et Timeout
    Par Geomaster dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 09/12/2005, 09h54
  4. [Cookies] PHP et navigateurs ?
    Par jexl dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2005, 11h01
  5. chargement pages php + cache navigateur
    Par grinder59 dans le forum Langage
    Réponses: 6
    Dernier message: 06/10/2005, 14h44

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