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

AJAX Discussion :

[AJAX] Detecter fin de session


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut [AJAX] Detecter fin de session
    Bonjour,

    Comme mis dans l intitule, je developpe un site en php. Je stocke le login et d autres infos dans des variables de session et je realise mes traitements en ajax. Le probleme est qu au bout d un temps ma session est vide et ca fait donc planter mes traitements qui utilisent ces variables.
    J aurai donc voulu savoir si quelqu un avait une solution pour detecter la fin de session et proposer a l utilisateur s il veut rester connecte ou sortir.

    Merci de vos bonnes solutions

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    je realise mes traitements en ajax
    Pourquoi ne gardes-tu pas la session active sur les pages appelées avec AJAX ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut
    C est a dire?
    Pcq au chargement de la page je fais un session_start. Mais le probleme est que si l utilisateur reste sur la page a faire de l encodage, la page n est pas raffraichie et donc au bout d un temps la session est terminee.

    Merci

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu as plusieurs possibilités et puisque tu indiquais que tu fais des traitements avec AJAX, tu peux ajouter des session_start à chaque page appelée avec AJAX, ce qui maintiendra la session active.
    Sinon, une autre solution est de créer un appel répétitif vers une page du serveur pour tenir ce rôle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    setInterval(activeSession, duree);
    function activeSession(){
        var xhr = getXHR();
        xhr.open('get', 'activate.php?tt=' + new Date().getTime(), true);
        xhr.send(null);
    }
    où duree est défini en fonction de la durée de la session PHP (3h par défaut) et getXHR() est ta fonction de création de l'objet XMLHttpRequest.
    Puis ton code PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php session_start(); ?>
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut
    Et comment je pourrais faire si par exemple l utilisateur ne fait aucune action, sa session se termine et au moment ou il refait une action. J aimerais ouvrir une popup lui demandant s il veut rester connecte ou quitter?

    Merci

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Dans mon exemple, l'appel AJAX ne demande aucune intervention de l'utilisateur.
    Ensuite, il faut bien sûr s'assurer de la méthode de propagation de l'identifiant de session. Si cela se fait par cookie, le cookie de session sera transmis automatiquement, sinon, il faudra le rajouter dans l'URL de la requête.

    Sinon, je comprends mal ta question... si tu appelles un script PHP en transmettant un identifiant de session, ça suffit pour la maintenir active.
    PHP ne sait pas faire la différence entre un script AJAX ou non.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. detecter fin de session
    Par wechteuf dans le forum VB.NET
    Réponses: 3
    Dernier message: 25/09/2009, 17h03
  2. [MySQL] detection de fin de session
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 09/02/2009, 18h09
  3. [AJAX] Ajax - Java - Fin de Session
    Par imhotep_zr7s dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/01/2009, 10h28
  4. [AJAX] détecter fin de session PHP en Javascript
    Par jason69 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2008, 11h44
  5. detection de fin de session
    Par elan_gi dans le forum Langage
    Réponses: 18
    Dernier message: 23/06/2006, 12h39

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