Submit form dans une page inactive depuis x minutes

Résolu
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013 - 27 oct. 2012 à 10:42
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013 - 31 oct. 2012 à 20:12
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

nicotontige
30 oct. 2012 à 17:25
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();
?>
3
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
31 oct. 2012 à 20:12
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
3
nicotontige
29 oct. 2012 à 13:50
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
0
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
29 oct. 2012 à 21:57
Je vais vérifier du côté la session

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
30 oct. 2012 à 13:59
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
0
nicotontige
30 oct. 2012 à 15:12
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.
0
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
30 oct. 2012 à 17:12
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
0
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
31 oct. 2012 à 14:22
ok Merci je vais tester ça !!
0
Rejoignez-nous