Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2011, 19h43   #1
Membre à l'essai
 
Inscription : mai 2008
Messages : 208
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2008
Messages : 208
Points : 24
Points : 24
Envoyer un message via ICQ à bender86
Par défaut 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
bender86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 12h44   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803
Citation:
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 18h26   #3
Membre à l'essai
 
Inscription : mai 2008
Messages : 208
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2008
Messages : 208
Points : 24
Points : 24
Envoyer un message via ICQ à bender86
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
bender86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 19h01   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803
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 :
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 :
<?php session_start(); ?>
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 19h42   #5
Membre à l'essai
 
Inscription : mai 2008
Messages : 208
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2008
Messages : 208
Points : 24
Points : 24
Envoyer un message via ICQ à bender86
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
bender86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 19h53   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h22.


 
 
 
 
Partenaires

Hébergement Web