Page 1 sur 1

formulaire d'inscription en x étapes avec temps limite

Posté : 04 juin 2015, 12:20
par jp.bond
bonjour,
un peu comme dans le cas de réservation de places de concert en ligne, je cherche à mettre un temps limite dans un formulaire d'inscription. En effet, j'enregistre bcp d'infos et je le fais en 3 étapes. A l'étape une, l'utilisateur choisit un lieu et une date, à l'etape 2, il choisit le nombre de places qu'il désire et je crée l'enregistrement à ce moment là...mais à l'etape 3 il doit saisir ses coordonnées et bcp de gens abandonnent ici. Je me retrouve avec des enregistrements sans les détails, que je ne peux pas supprimer tout de suite, dans le cas où quelqu'un n'aurait pas fini de saisir son étape 3 et laissé son navigateur ouvert. Donc j'aurai aimé mettre un timeout à 10-20 mns, rediriger l'utilisateur à l'étape 1 et détruire son enregistrement non finalisé.

J'ai cherché du coté des variables de sessions, mais c'est souvent utilisé dans le cas d'un login, et la personne se retrouve non identifiée... dans mon cas il n'y a pas de login, du coup je ne sais pas trop comment organiser la fonctionnalité.

J'avais imaginé :
- 1 : un popup apparait pour dire que le temps est écoulé (10 mns par exemple) : comment faire pour détecter le temps et faire apparaitre cette popup sans possibilité de contournement
- 2 : effacement de la ligne en base de données et redirection vers une page cible dès que la popup est cliquée : pour l'effacement, pas de soucis, mais pour la redirection auto qui suit le clic sur le bouton OK de la popup, je ne vois pas bien


merci de votre aide

Re: formulaire d'inscription en x étapes avec temps limite

Posté : 05 juin 2015, 09:40
par Ryle
Bonjour,

Les variables de session te permettent de recueillir des informations et de les conserver en mémoire tant que l'utilisateur consulte ton site. C'est effectivement utilisé pour reconnaître une personne connectée, mais cela sert également pour la gestion de "caddie" sur internet. Les articles (ou les réservations) faites par l'utilisateur sont mémorisées en session jusqu'au payement. Si l'utilisateur ne va pas au bout du traitement, la session expire et rien n'est enregistrée. Cela nécessite en revanche de t'assurer au moment du payement que les éléments demandés sont toujours disponibles.

L'autre solution consisterais simplement à stocker dans ta table la date et l'heure de l'enregistrement (timestamp) te permettant d'identifier ceux qui datent de plus de 10mn et n'ont toujours pas été confirmés afin de les purger. Pour l'affichage de la popup tu peux utiliser un timeout javascript qui déclenchera l'affichage après x minutes (tant que l'utilisateur reste sur la page)

Et pour la redirection, tu peux soit là encore utiliser du javascript, soit lorsque l'utilisateur clique sur OK et que tu supprimes l'enregistrement en base en php, utiliser un header() pour rediriger l'utilisateur en php.

Re: formulaire d'inscription en x étapes avec temps limite

Posté : 05 juin 2015, 10:29
par jp.bond
bonjour et merci de ta réponse.
Dans mon cas, je vais oublier les variables de sessions et me pencher sur les solutions en javascript alors
merci pour les pistes, je vais creuser tout ca ;-)