|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
slt svp j ai fait cela pour définir la durée de vie de la session en 1 min:
session_set_cookie_params(60); session_start(); mais y a rien qui se passe. je veux préciser la durée de vie de la session svp comment faire ? |
|
|
00
|
|
|
#2 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Mais dans quel but ? Car si tu veux faire ça c'est qu'il doit avoir une finalité à l'affichage ? Si c'est pour faire un simple setTimeOut, je te suggère de prendre exemple sur ceci : Comment déconnecter automatiquement un utilisateur à la fin de sa navigation ? ça peut être intéressant.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
c'est exactement dans le but de déconnecter un utilisateur qui a fermé son navigateur sans se déconnecter par le bouton de déconnexion
|
|
|
00
|
|
|
#4 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Par défaut dès que le client ferme le navigateur toutes sessions est effacé. Mais si tu veux vraiment poussé tu peux tenter diverses choses, comme les cookies cf le lien
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
mais mon problème c'est que je dois noter l'heure de la déconnexion du membre, donc si le membre n 'as pas cliqué sur déconnexion et si je précise pas une durée de la session, comment je vais prendre l'heure de la déconnexion du membre ?
|
|
|
00
|
|
|
#6 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Tu gardes en base de données par exemple l'heure de la dernière activité. C'est ainsi que fonctionne par exemple les forums
|
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
quand j ai essaier ce qui dans faq php :
Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
et comment ça se fait l'heure de la dernière activité ? prcq je n'ai aucune idée
|
|
|
00
|
|
|
#9 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Ben justement last_access est la variable de dernière activité.
Après si tu veux garder cette variable pour des stats ou un espace membre il vaut mieux la mettre en BDD |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
|
|
|
00
|
|
|
#11 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Tout simplement par
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
c'est exactement ce que j'ai essaie de faire mais y a rien qui change je comprens pas pourquoi :
<?php define ('SESSION_TIMEOUT', "1800"); $_SESSION['last_access'] = time(); if (isset($_SESSION['login'])) { // On vérifie si le temps d'inactivité n'a pas été dépassé if(time()-$_SESSION['last_access'] > SESSION_TIMEOUT) { logout(); } else { // On stocke l'heure de dernière connexion // time s'exprime en secondes à partir du 01/01/70 à 00:00:00 $_SESSION['last_access'] = time(); } } ?> |
|
|
00
|
|
|
#13 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Tout simplement parce que le fait de mettre tout ça sur la page même page ne changera rien vu que la différence sera toujours inférieur à temps défini. normal dans un sens. Ce qu'il faut faire c'est lors de la connexion initialisé la variable puis faire le test une fois connecté pas autrement.
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 13 ![]() |
merci bien je vais essaier de le faire et réecrire par la suite
|
|
|
00
|
|
|
#15 | ||
|
Nouveau Membre du Club
![]() Inscription : juin 2005 Messages : 92 ![]() |
En fait, c'est simple, il suffit juste de tester l'age de la session AVANT de réinitialiser last access, et tu peut le faire sur la même page :
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com