Submit form dans une page inactive depuis x minutes [Résolu]

Signaler
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
-
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
-
Bonjour

Tout d'abord merci pour prendre le temps le lire mon message.
Bon dans mon travail je conçu un système de gestion du temps. C'est un système ou les usagers se logent avec un user et un pass et ils retrouvent toutes leurs tâches qui lui sont assignées.
Dans chaque tâche il y a un timer fait en Javascript bien sur qui compte le temps de l'usager passé sur cette tâche. Mon problème c'est quand l'usager a fini la tâche il fait submit dans un form qui enregistre le temps dans un base de donnée avec l'ID de sesssion de l'usager et d'autres parametres, mais vue que ma page est inactive depuis plusieurs minutes l'information de s'enregistre pas dans la base de donnée on dirait qu'il fait comme actualiser la page pour faire le submit.

j'ai sais que mon post est un peu long mais il fallait une mise en contexte.
Si quelqu'un connait un astuce, je roche depuis quelque jours et je ne pas encore trouvé une solution.


Merci

8 réponses


si tu veux passer à 3600 secondes par exemple, il faut que tu places ceci à chaque fois que tu créé une sesion

<?php
ini_set('session.gc_maxlifetime', 3600);
session_start();
?>
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013

Merci ça marche il fallait juste une autre ligne du code de plus

ini_set('session.cookie_lifetime', 0);
ini_set('session.gc_maxlifetime', 28800);


Dans cet forum je toujours trouvé une réponse merci à tous

Bonjour,

je ne vois pas trop le problème vu comment il est exposé.
Il nous faudrait d'autres informations, du style ligne de code, exemple concret ...

As-tu pensé à faire des echo des requetes, afin de savoir si toutes les variables à bien une valeur, savoir si les requetes ne retournent pas d'erreur.
Comme tu l'as annoncé, je verrai bien un problème de durée de session, sachant que la durée d'une session par défaut est de 1440 secondes, soit 24 minutes. Peut-être la solution ?

Dans ce cas là, il faut modifier le php.ini, et augmenter la taille de :
session.gc_maxlifetime
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013

Je vais vérifier du côté la session

Merci
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013

Bonjour

Je viens de tester la variable de session et il semble effectivement que mon problème vient de là.

Mais le fait d'augmenter la durée de vie de la session n'est une bonne solution parce qu'une personne peut passer 5 min dans une tâche au 5 heures.

J'avais pensé de faire un div caché qui se refresh à tous x minutes, de cette façon la session va être active le temps qu'il faudra, mais je ne sais pas si est la bonne solution.

Avez-vous de quoi de mieux à me conseiller.

Merci

je ne vois pas ce que ça change dans ton cas d'augmenter la durée de la session ... ça me parait être la meilleur solution à ton problème.
Tu mets genre 10h de session max (je pense pas qu'une personne travaille plus que ça par jour).

Sinon, il y a un problème de sécurité dans tes pages, logiquement pour bien faire, une personne ne devrait pas pouvoir cliqué sur un submit si sa session est terminée. Il faut faire une vérification à chaque fois, et si la session est inexistante, forcer l'utilisateur de se reconnecter.
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013

Salut

Si je veux modifier la durée de vie de la session qu'elle est la procédure à prendre car je ne pas accès à php.ini car je paie pour l’hébergement de mon application.

Est ce qu'il y a une façon qu'on puise définir ça sans modifier directement le php.ini

Merci
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013

ok Merci je vais tester ça !!