francoisch Posté 17 Juillet 2009 Posté 17 Juillet 2009 Bonjour Jutilise des variables de session Php Apache ; jai laissé la durée à la valeur par défaut : 1440. Ca mest utile pour que les variables soient supprimées après une période dinactivité. Ma question : à partir de quel moment la durée de la session est-elle décomptée ? A partir du début de la session ? à partir du moment où lutilisateur devient inactif ? autre chose ? Par avance merci de votre aide ? Francois
iNCiTE Web Posté 18 Juillet 2009 Posté 18 Juillet 2009 Moi ça paraitrait logique que ce soit remis à zéro à chaque session_start() (qui démarrer une nouvelle session ou restaure la session si existante). Sinon ça voudrait dire que dans le cas d'une authentification, il faudrait se reconnecter toutes les 24 minutes même en surfant...
francoisch Posté 18 Juillet 2009 Auteur Posté 18 Juillet 2009 bonjour et merci de ta réponse qui paraît logique effectivement. Question complémentaire, je démarre mes pages avec: if (!session_id()) session_start(); que j'avais trouvé qqepart quand j'ai commencé avec des variables session. Ca parait bon? Ou bien, cela équivaut-il à laisser la session démarrer au premier session_start() rencontré? Ce qui voudrait dire que le visiteur n'aurait que 24 minutes devant lui à partir de son premier accès? Si Oui, par quoi faudrait-il que je remplace cet ordre Php? seulement session_start()? Ca fonctionne d'"empiler" les session_start() les uns sur les autres au fil de la navigation d'une page vers l'autre? Par avance merci. Francois
iNCiTE Web Posté 18 Juillet 2009 Posté 18 Juillet 2009 Les sessions ne s'empilent pas : session_start() crée une session (ou restaure celle trouvée sur le serveur, via l'identifiant de session passé dans une requête GET, POST ou par un cookie). Tu peux mettre session_start tout seul (à condition que session.auto_start soit à 1 je pense)
interzine Posté 18 Juillet 2009 Posté 18 Juillet 2009 Si tu utilise session.start(); c'est sans résultat, c'est la même procédure que de continuer une session précédente
iNCiTE Web Posté 18 Juillet 2009 Posté 18 Juillet 2009 Oui mais le fait de continuer remet le compteur à zéro... faudrait tester avec 1 minute...
francoisch Posté 18 Juillet 2009 Auteur Posté 18 Juillet 2009 Merci de vos réponses. Est-ce que je comprend bien ce que vous dites: - si j'utilise session_start () à chaque page, ça remet le compteur à zéro à chaque fois - si j'utilise if (!session_id()) session_start() à chaque page, la remise à zéro se sera produite une seule fois, en rencontrant le premier session_start() D'accord? Francois
iNCiTE Web Posté 18 Juillet 2009 Posté 18 Juillet 2009 Non je ne crois pas. session_start() et if (!session_id()) session_start() sont pour moi identique. Dans tous les cas, la durée de la session repart à 0 (sinon on serait déconnectés souvent) Enfin c'est ce que j'en conclus et ce qui parait logique.
francoisch Posté 18 Juillet 2009 Auteur Posté 18 Juillet 2009 (modifié) Oui, d'expérience, je serai tenté de convenir avec ce que tu dis, j'aurais été déconnecté de nombreuses fois. Je vais rester avec mon session_start ... Donc, ma question suivante est: où peut on trouver la valeur instantannée du compteur de ce délai? Je voudrais pouvoir afficher (alert box?) le temps qui reste à courrir avant que la session soit coupée. Merci. Francois Modifié 18 Juillet 2009 par francoisch
iNCiTE Web Posté 18 Juillet 2009 Posté 18 Juillet 2009 En direct ce n'est guère possible car la session démarre au moment où le serveur envoie la page. Ensuite on ne sait pas ce que fait l'internaute : il lit (pas vite), il recopie, il fait autre chose, il est parti, voire il a fermé le navigateur et on ne peut pas le savoir. Avec Javascript éventuellement, mais avec les réserves habituelles (que le browser l'accepte, qu'il soit activé etc)
francoisch Posté 18 Juillet 2009 Auteur Posté 18 Juillet 2009 Oui, un peu limité par l'emploi pas universel du JS. J'ai l'idée, en tête de page, de tester une des variables de session et, si elle n'est plus là, d'émettre un message d'information. Une solution simple. Francois
iNCiTE Web Posté 18 Juillet 2009 Posté 18 Juillet 2009 Oui Le but est de supprimer les variables ? si ce sont des variables de session elles le seront vraisemblablement en même temps...
francoisch Posté 18 Juillet 2009 Auteur Posté 18 Juillet 2009 Non, c'est différent. Je passe de page en page une dizaine de variables de session. Quand les variables ont disparu, ce qui me paraît souhaitable, l'affichage des pages devient sans signification et ça surprend. Je vais donc mettre un message qui indiquera la conduite à tenir. Francois
Leonick Posté 13 Septembre 2009 Posté 13 Septembre 2009 ajoute un js dans les pages qui va se connecter 20' après le chargement, histoire de remettre la session à 0
francoisch Posté 16 Septembre 2009 Auteur Posté 16 Septembre 2009 Merci de ta réponse. Entretemps j'ai effectivement mis un message expliquant ce qui arrive. Francois
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant