Rester connecté longtemps


xdeslandes
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 393
Inscription: 29 Déc 2004

Rester connecté longtemps

Message le Mar Fév 07, 2006 21:07

Bonjour,

je me demande quelle technique utiliser pour conserver une session pendant une journée entière ?
L'admin de l'appli doit pouvoir se connecter le matin pour se déconnecter le soir. Faut-il utiliser une autre technique que les sessions ?
Merci pour vos tuyaux !


blman
WRInaute accro
WRInaute accro
 
Messages: 3077
Inscription: 5 Sep 2003

Message le Mar Fév 07, 2006 21:26

Tu peux sauvegarder ta session dans un cookie. Au pire si ton client n'accepte pas les cookie, elle ne sera pas sauvegarder. Mais dans la majorité des cas, ça marche.


xdeslandes
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 393
Inscription: 29 Déc 2004

Message le Mar Fév 07, 2006 21:28

J'enregistre donc le $ssid (l'identifiant de session) dans $_COOKIE, c'est ça ? Et je le récupère à chaque page ?

zimounet
WRInaute passionné
WRInaute passionné
 
Messages: 1796
Inscription: 8 Nov 2004

Message le Mar Fév 07, 2006 21:33

siteduzero.com mon ami ou phpdebutant.org


blman
WRInaute accro
WRInaute accro
 
Messages: 3077
Inscription: 5 Sep 2003

Message le Mar Fév 07, 2006 21:34

Oui, tout à fait !

A la création d'une session, tu l'enregistre dans le cookie pour la durée que tu veux puis tu gère ta session sans te soucier du cookie.

Sur chaque page, tu fais un truc du genre :

si (!session){
je regarde si il y a une sauvegarde dans le cookie :

- si oui, je continue la session enregistrée session=cookie[session]
- si non, je crée une session

}


xdeslandes
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 393
Inscription: 29 Déc 2004

Message le Mar Fév 07, 2006 21:37

Merci blman, je vais essayer cela... Des nouvelles dans la semaine.


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 1 Sep 2004

Message le Mer Fév 08, 2006 9:50

On peut aussi enregistrer des sessions en base de données.


blman
WRInaute accro
WRInaute accro
 
Messages: 3077
Inscription: 5 Sep 2003

Message le Mer Fév 08, 2006 10:15

MarvinLeRouge a écrit:On peut aussi enregistrer des sessions en base de données.


Bien sûr, mais comment retrouver la session une fois que l'utilisateur se reconnecte ?


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Mer Fév 08, 2006 10:17

on peut aussi augmenter la durée de la session dans la config serveur :)


Patrice A.
WRInaute passionné
WRInaute passionné
 
Messages: 2415
Inscription: 11 Fév 2005

Message le Mer Fév 08, 2006 17:55

blman a écrit:
MarvinLeRouge a écrit:On peut aussi enregistrer des sessions en base de données.


Bien sûr, mais comment retrouver la session une fois que l'utilisateur se reconnecte ?

par IP... Comme dans phpBB.


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 1 Sep 2004

Message le Mer Fév 08, 2006 18:55

Dj_Apx a écrit:
blman a écrit:
MarvinLeRouge a écrit:On peut aussi enregistrer des sessions en base de données.


Bien sûr, mais comment retrouver la session une fois que l'utilisateur se reconnecte ?

par IP... Comme dans phpBB.


Ou par id ou login sur l'utilisateur se logge (tu mets cette info dans la session).


xdeslandes
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 393
Inscription: 29 Déc 2004

Message le Mer Fév 08, 2006 22:27

Je ne comprends pas ce que tu dis MarvinLerouge :oops:
@e-kiwi : j'ai allongé le temps de session de 30 à 60min sur le serveur privé dont je dispose chez Amen.
On est bien d'accord que le temps de session est le temps maximum d'INACTIVITE (c'est à dire sans redemander de page au serveur) permise par le serveur avant qu'il coupe la session, c'est bien cela ? Cela veut donc dire que si l'utilisateur redemande une page toutes les 59minutes, la session continue d'exister ?

zimounet
WRInaute passionné
WRInaute passionné
 
Messages: 1796
Inscription: 8 Nov 2004

Message le Jeu Fév 09, 2006 6:25

en principe oui, c'est ça, a moins que tu indique au cookie ou a ta session ou a ton cookie de session un délais d'expiration plus cours!


Patrice A.
WRInaute passionné
WRInaute passionné
 
Messages: 2415
Inscription: 11 Fév 2005

Message le Jeu Fév 09, 2006 17:13

MarvinLeRouge a écrit:
Dj_Apx a écrit:
blman a écrit:
MarvinLeRouge a écrit:On peut aussi enregistrer des sessions en base de données.


Bien sûr, mais comment retrouver la session une fois que l'utilisateur se reconnecte ?

par IP... Comme dans phpBB.

Ou par id ou login sur l'utilisateur se logge (tu mets cette info dans la session).

Ca ne veut plus rien dire ;)

à part ça, il existe aussi la solution de recharger la page entièrement ou en partie toutes les 5minutes.


blman
WRInaute accro
WRInaute accro
 
Messages: 3077
Inscription: 5 Sep 2003

Message le Jeu Fév 09, 2006 17:19

Je viens de lire le post de plus près. J'avais conseillé les cookies au début du post parce que je pensais que l'utilisateur pouvait fermé la fenêtre et conserver sa session à une prochaine reconnexion. Mais en fait j'avais mal lu...

Voici ce que je ferais dans ton cas :
- je crée une session.
- je l'enregistre dans ma BDD avec la date de création
- à chaque fois que la page est rechargé j'update la date
- je défini un temps de veille à 24 heures
- si la date dépasse les 24 heures, je détruit la session (signifie non utilisé de puis plus de 24 heures)

Rester connecté longtemps

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités