[PHP] Session maxlifetime

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 06:31
Zoals op elk forum heb ik ook het probleem dat als de gebruiker langer bezig is met het typen van een bericht, dat de session timeout er voor zorgt dat na het submitten van de post de gebruiker naar het login scherm gaat, om vervolgens erachter te komen dat de wijzigingen weg zijn.

Ik ben benieuwd of er iemand een slimme manier weet om generiek de input van de gebruiker op te slaan/ terug te krijgen. Een paar ideeen:

- Zorgen dat de formulier input bij de gebruiker via CTRL + V terug te halen is (kan je CTRL + C forceren met javascript?)
- Alle input in de database gooien voordat de sessie gesloten wordt
- Alle input meegeven aan het login formulier om vervolgens de actie te hervatten na het inloggen
- De gebruiker waarschuwen dat hij is uitgelogd en dus zijn input moet opslaan (met AJAX, voor het submitten van het formulier?)

Ik vind zelf dat er nog niet echt een goede oplossing bij staat, dus alle ideeen zijn welkom!

P.S. het gaat eigenlijk niet alleen om forum post input, maar om alle soorten user input die verloren gaat als de sessie verloopt.

Ik blijf er iig vrij nuchter onder....


Acties:
  • 0 Henk 'm!

Verwijderd

Er gaat geen input verloren als de session is verlopen. Je kunt die post dan gewoon in de session of in een formulier op een nieuwe pagina opslaan, en de gebruiker verzoeken het wachtwoord op te geven. Daarna kun je alsnog de post plaatsen. Je moet gewoon niet redirecten naar de login pagina, maar naar een speciale pagina die de post doet (en eventueel weer inlogt). Maar dingen raken echt niet zomaar kwijt, dat is alleen als jij je applicatie zo ontwerpt.

Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Een minuut of 5 voor het verstrijken van de sessie laat je een javascript prompt of iets dergelijks komen met de vraag of de gebruiker ingelogd wil blijven. Als de gebruiker 'ja' klikt laat je met ajax een pagina openen die de sessie ververst. Als de gebruiker niks doet mag de sessie gewoon verstrijken, dan zit hij blijkbaar niet meer achter die pc.

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
als de gebruiker een bericht post doet hij dus een POST action naar de server... deze post-data wordt echt niet genegeerd als de sessie verlopen blijkt te zijn... sla bijvoorbeeld de ingevulde gegevens op in een sessievariabele of in een database op het scherm waar je de gebruiker opnieuw laat inloggen en stuur hem naar inloggen direct door naar de invulpagina

Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 09:34
Kun je niet zelf de sessie expire tijd aanpassen? Mbv session.cache-expire dus?

[ Site ] [ twitch ] [ jijbuis ]