2010-12-05 5 views
0

Tout d'abord, parce que j'ai très peu d'expérience JS/jQuery, toute cette affaire sera une courbe d'apprentissage pour moi - alors s'il vous plaît excuser toutes les questions stupides que je peux demander :)jQuery sessions AJAX dans CakePHP 1.3

J'ai un site de fiction interactive sur lequel les utilisateurs peuvent soumettre leurs propres chapitres à des histoires. L'un des problèmes que j'ai est que la session de l'utilisateur peut parfois s'écouler avant d'avoir fini d'écrire le chapitre, signifiant quand ils soumettent, ils sont déconnectés (alors connectés de nouveau, voir ci-dessous), et perdent tout leur travail. .. Pas bon.

J'ai un ensemble de cookies et j'utilise autologin, bien que cela ne résout pas le problème (l'utilisateur est re-connecté après avoir soumis le formulaire, mais le contenu du formulaire disparaît). Donc, dans un effort pour résoudre ce problème, j'ai pensé qu'il pourrait être une bonne idée d'utiliser jQuery AJAX pour effectuer un certain type d'auto-sauvegarde pendant la frappe. L'idée est que le contenu du formulaire soit automatiquement sauvegardé dans un tableau de variables de session toutes les quelques secondes, ce qui, en théorie, fait deux choses: d'abord, il maintient la session active, ce qui signifie qu'il ne sera pas temps et, en second lieu, cela signifie qu'ils peuvent quitter la page, puis y revenir, tout ce qu'ils ont écrit jusqu'à présent étant automatiquement rempli. Le problème est que je ne sais pas comment me lancer dans une telle entreprise, et c'est pourquoi j'espérais qu'une âme aimable ici pourrait être capable de me diriger dans la bonne direction?

Merci.

Répondre

0

La solution la plus simple est de changer la durée d'expiration de la session à quelques heures Configure::write('Session.timeout', '144'); et de maintenir les valeurs du contenu du chapitre dans la session et jusqu'à ce que le bouton de sauvegarde de presse.

+0

J'ai déjà les paramètres suivants dans mon fichier core.php: Configure :: write ('Session.timeout', '120'); Configurer :: write ('Security.level', 'medium'); Mais cela n'empêche pas l'expiration. J'espérais que quelqu'un pourrait m'aider avec le côté jQuery, c'est-à-dire comment puis-je l'envoyer pour envoyer le contenu du formulaire à une variable de session via ajax? Merci. – Daniel