Sauver facilement des données saisies

Sauver facilement des données saisies - HTML/CSS - Programmation

Marsh Posté le 03-02-2006 à 10:40:11    

Voilà, j'ai une appli web, php côté serveur, HTML/JS côté client.
 
Mon souci est que sur certaines pages, la saisie peut être longue et quand l'utilisateur clique sur "valider", la session a expiré, ce qui fait que tout ce qui a été saisi est perdu. De même, s'il clique sur le lien menant à une autre page, il perd aussi tout ce qui a été saisi.
 
D'où ma question : aujourd'hui quelles ont les techniques utilisées pour sauver (temporairement) les données saisies dans un formulaire afin que l'utilisateur ne perde pas tout en cas de fausse manip (clic sur le lien d'une autre page, appui accidentel sur la touche ESC qui réinitialise le formulaire, expiration de session, clic sur la flèche "page précédente", etc.)?
 
Pour info, je connais la technique d'utiliser les variables dans l'objet $_SESSION, mais je l'utilise toujours après une action explicite de l'utilisateur (il effectue une requête vers le serveur). Merci par avance de votre aide.

Reply

Marsh Posté le 03-02-2006 à 10:40:11   

Reply

Marsh Posté le 03-02-2006 à 11:16:10    

il n'y a qu'une seule méthode : AJAX. En francais, c'est l'utilisation de javascript pour demander une page au serveur sans que ca se voye à l'écran et ce avec un retour du serveur généralement sous forme de fichier xml.

Reply

Marsh Posté le 13-02-2006 à 12:37:17    

Je connais AJAX (mais jamais mis en application). Le pb, c'est que ça ne marche qu'avec des navigateurs récents. Or, j'ai encore du Netscape 4.7 :(
 
Cela dit, je suis intéressé par toute techno qui pourrait répondre à mon besoin, même si ça ne fonctionne pas avec de vieux navigateurs.


Message édité par rufo le 13-02-2006 à 12:38:24
Reply

Marsh Posté le 14-02-2006 à 17:05:57    

Par ex, sur ce forum, lorsque l'on saisit qq chose dans la zone "réponse rapide" sans valider (mais c'est valable aussi pour le champ "votre réponse" quand on clique sur "Répondre" ) et que l'on clique sur la flèche "précédent" puis "suivant", on retrouve ce que l'on avait saisit. Comment cela se fait t-il? Dans mon appli, lorsque je reviens sur la page, la zone où j'avais saisi qq chose est vide :/...

Reply

Marsh Posté le 14-02-2006 à 17:50:27    

Ca, c'est du au navigateur et à la durée de vie de la page telle qu'indiqué par le serveur. (ou le script php s'il envoie le header qui correspond)
Par contre, je n'ai aucune idée de quel header il faudrait modifier.

Reply

Marsh Posté le 14-02-2006 à 18:00:02    

omega2 a écrit :

Ca, c'est du au navigateur et à la durée de vie de la page telle qu'indiqué par le serveur. (ou le script php s'il envoie le header qui correspond)
Par contre, je n'ai aucune idée de quel header il faudrait modifier.


 
J'allais te demander justement quel header :) En tout cas, ça m'ouvre déjà une piste, merci...

Reply

Marsh Posté le 14-02-2006 à 18:01:24    

moi la kestion ke je me pose, c'est quelle genre de société pour laquelle tu bosses pour rester en NS4.7
putain faut être barge maintenant :/ pour rester avec un aussi vieux navigateur, meme un ptit camino c'est plus puissant et aussi léger pour tourner sur une vieille machine.

Reply

Marsh Posté le 14-02-2006 à 18:09:04    

camino c'est pas un navigateur mac?
Quand j'y pense, il y a a peine quelques mois, l'anpe tournait encore avec un vieux windows (ou un vieux OS/2 j'en sais rien) sur lequel toutes leurs applications étaient en mode texte (j'espére pour eux que ca a évolué un peu depuis) donc en comparaison, un NS4.7 sur certains ordi, ca m'étone pas tant que ça.

Reply

Marsh Posté le 14-02-2006 à 18:15:25    

Ah si c'est un navigateur pour MAc

Reply

Marsh Posté le 14-02-2006 à 18:23:04    

faut pas se focaliser sur NS4.7. Ma question était plus une demande d'état de l'art ou les us et coutumes pour répondre à mon pb...

Reply

Marsh Posté le 14-02-2006 à 18:23:04   

Reply

Marsh Posté le 14-02-2006 à 20:33:10    

rufo a écrit :

faut pas se focaliser sur NS4.7. Ma question était plus une demande d'état de l'art ou les us et coutumes pour répondre à mon pb...


 
Ben en langage courant :  
Si toi devoir utiliser prout 4.7 toi devoir faire un  beau gros caca en HTML/JS

Reply

Marsh Posté le 15-02-2006 à 11:00:41    

si on enlève NS4.7 de l'équation, existe t-il des solutions elégentes?

Reply

Marsh Posté le 15-02-2006 à 18:22:05    

up

Reply

Marsh Posté le 15-02-2006 à 18:25:06    

tu pourrais tout simplement séparer la saisie en X étapes plus petites, comme ça la session n'est pas détruite puisqu'elle est réactivée à chaque étape


Message édité par Sh@rdar le 15-02-2006 à 18:25:35

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 15-02-2006 à 18:26:49    

tu n'auras pas de solution élégAntes, ça sera forcément dégueu [:spamafote]
Au dela d'Ajax comme tu le conseillais omega, on pourrait imaginer une solution avec une iframe caché qui se reload toutes les X mins pour que la session n'expire pas ... mais c'est dégueux!!!

Reply

Marsh Posté le 16-02-2006 à 14:42:40    

anapajari a écrit :

tu n'auras pas de solution élégAntes, ça sera forcément dégueu [:spamafote]
Au dela d'Ajax comme tu le conseillais omega, on pourrait imaginer une solution avec une iframe caché qui se reload toutes les X mins pour que la session n'expire pas ... mais c'est dégueux!!!


 
Je reviens à l'une de mes questions : sur ce forum, comme est fait la rémanence des infos saisies dans la zone "réponse rapide"?

Reply

Marsh Posté le 16-02-2006 à 14:48:13    

la réponse est dans la source :o
 
onclick="choper_reponse_rapide(0,0); return false;"
 
t'as plus qu'à trouver la fonction Js :D
 
EDIT : allez
 

Code :
  1. function choper_reponse_rapide(numrep,ref) {
  2. document.getElementById('repondre_form').action=document.getElementById('repondre_form').action.replace('?','?ref=' + ref + '&numrep=' + numrep + '&');
  3. document.getElementById('repondre_contenu').value=document.hop.contenu.value;
  4. document.getElementById('repondre_form').submit();
  5. }


 
donc le JS transmet le texte tapé via formulaire post quand on clique :o


Message édité par Sh@rdar le 16-02-2006 à 14:51:15

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 16-02-2006 à 14:58:39    

Sh@rdar > rufo demande comment ce forum fait pour qu'on ne se retrouve pas avec un formulaire vide aprés être allé voir un autre site dans la même fenêtre/même onglet qu'on revient sur la page grace au bouton précédant du navigateur.
 
Ce que tu lui indiques correspond juste à l'envoie du texte de la zone "réponse rapide" à la zone de saisie du formulaire étendue. (le gros bouton rouge nomé "répondre" ) Ca n'a donc strictement aucun rapport.

Reply

Marsh Posté le 16-02-2006 à 15:01:28    

désolé mais, euh bin c'est pas le navigateur qui gère ça ? moi j'ai ça sur tous les sites avec Firefox :heink:

Message cité 1 fois
Message édité par Sh@rdar le 16-02-2006 à 15:07:39

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 16-02-2006 à 15:06:33    

omega2 a écrit :

Sh@rdar > rufo demande comment ce forum fait pour qu'on ne se retrouve pas avec un formulaire vide aprés être allé voir un autre site dans la même fenêtre/même onglet qu'on revient sur la page grace au bouton précédant du navigateur.
 
Ce que tu lui indiques correspond juste à l'envoie du texte de la zone "réponse rapide" à la zone de saisie du formulaire étendue. (le gros bouton rouge nomé "répondre" ) Ca n'a donc strictement aucun rapport.


 
tout à fait. J'ai regardé le code de fichiers .js mais je n'ai rien trouvé de probant. Par contre, j'ai trouvé des fonctions qui étaient exécutées sur l'événement onload de l'objet "document". Moi, j'avais cherché ce genre de truc mais dans le code html (le onload de la balise body). Par contre, rien sur l'évenement unload (on arait pu imaginer une fonction qui sotck ce qui avait été saisi dans un cookie ou un script php qui stock dans la session)...

Reply

Marsh Posté le 16-02-2006 à 15:08:01    

Sh@rdar a écrit :

désolé mais, euh bin c'est le navigateur qui gère ça.. moi j'ai ça sur tous les sites avec Firefox :heink:


 
Je me suis posé la question. Ca le fait pas avec mon appli ni avec certains sites (un site d'élevage de pingouins par ex).

Reply

Marsh Posté le 16-02-2006 à 15:11:20    

modem coupé ça le fait encore.. je vois pas d'autre truc..
 
j'avais jamais fait gaffe à ça en fait [:joce]
 
EDIT : y'aurait-il un rapport entre le fait que le cache soit sur le disque ou en mémoire.
 
sur mon serveur local et sur d'autres, ça le fait pas, et la page est en cache mémoire
 
là ou ça fonctionne le cache est sur le disque :??:
 
c'est très perturbant comme truc...
 
RE edit : je confirme que c'est le brouteur
 
sur mon serveur local, ça ne le fait jamais, et la même page fonctionne en prod (et toujours cette différence de cache) et bien entendu je n'ai rien configuré en ce sens..


Message édité par Sh@rdar le 16-02-2006 à 15:17:14

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 16-02-2006 à 15:19:08    

en tout cas, sous IE 6.0, ça marche aussi. C'est peut-être du à ce qui est spécifié dans les méta-données comme mentionné par omega2. J'ai fait une recherche la-dessus, mais je n'ai rien trouvé qui me mette sur la voie. J'aurais peut-être intérêt à contacter en MP Joce. C'est bien lui qui a développé ce forum, non?

Reply

Marsh Posté le 16-02-2006 à 15:20:06    

il n'y est pour rien, ça le fait aussi sur un de mes sites alors que j'ai rien mis du tout ;)
 
et ça vient de me le faire en local, mais encore une fois la page étant en cache disque et pas mémoire..


Message édité par Sh@rdar le 16-02-2006 à 15:29:35

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed