8792 sujets

Développement web côté serveur, CMS

Voila,

J'aimerai appliquer à un site que je suis en train de développer ce que ce site applique. C'est à dire conserver le texte dans un champ de formulaire si on change de page par accident et puis qu'on revient sur la page contenant la page du formulaire. Je remarque même qu'ici je peux revenir en arrière jusqu'a a un autre site et puis revenir en avant vers mon topic et les valeurs entrées dans les champs sont encore présentes...

Tout cela est-il compliqué à réalisé ? J'imagine que le user doit obligatoirement être loggué et qu'il faut utiliser les sessions en php..


Merci d'avance d'éclairer ma lanterne Smiley smile
Modifié par Diox (19 Aug 2009 - 22:43)
S'il s'agit juste d'aller sur une autre page sans le vouloir et faire retour avec le navigateur, c'est le navigateur qui gère ça tout seul.

Sinon tu peux utiliser des sessions ou des cookies mais ça me semble prise de tête pour rien.
Salut !
Je pense que c'est réalisable, grâce à Ajax.

En effet, Ajax permet de communiquer avec son serveur sans recharger la page, il faut donc faire un xhttprequest vers une page ajax.php (qui s'occupera de garder les informations sur une base de donnée, et faire en sorte que ces informations soient écrasées au bout de 10 minutes), et cela au moment où l'utilisateur change d'objet dans le formulaire (onblur).

Schéma:
1) je rentre quelque chose dans un input, et je passe à l'input suivant.
2) Graça à mon onblur, lorsque je change d'input, je lance ma fonction sauvegarde_form(); (qui contient tout le script xhttprequest)
3) La fonction s'execute et transmet mes informations vers ma page Ajax.php
4) Ma page Ajax.php va insérer la valeur de l'input dans une table form_sauvegarde qui contiendra 5 champs:
- id
- ip (pour identifier l'utilisateur grâce aux variables d'environnement)
- timestamp (pour avoir le timestamp actuel et delete la table après 10 minutes)
- valeur_de_l'input
- name de l'input (pour retrouver l'input)

Ensuite, lorsque l'utilisateur reviendra sur la page, tu n'auras qu'à faire appel à ta base de données et faire une recherche par ip. tu récupère les données pour chaque name, et tu fais comme d'hab pour les insérer (comme si ça remettait les erreurs du formulaire après un POST raté à cause des conditions).

J'éspère avoir été clair.
Modifié par Tutuguri (20 Aug 2009 - 02:11)
Salut,

Comme dit par Skoua le navigateur se charge de garder les contenus des champs en faisant retour dans l'historique Smiley cligne .
Bonjour,

C'est vrai mais selon les navigateurs le comportement peut-être différent ou autre chose les bloque ?
Je me suis moi-même posé la même question car j'ai créé un formulaire avec des validations pour les champs obligatoires par javascript.
Si je reviens sur mon formulaire avec Firefox, seuls les champs non obligatoires restent, les autres ont disparus. Avec IE8, je conserve tout les champs remplis.
Il doit donc y avoir qq chose qui bloque ailleurs ?
Merci pour ta réponse tutuguri, je vais essayer d'appliquer tout ca.

Pour ce que dise les autres c'est bizzard car le phénomène est assez aléatoire, ici par exemple le texte que je suis en train de tapper dans ce champs et effectivement conservé. Par contre sur gmail ou d'autre sites par exemple le texte est supprimé quand on reviens sur la page....
Tu met tout dans un cookie, et tu vérifie si le cookie existe quand il revient (un cookie par champs).

Ou soit, tu met tout en session, une variable de session par champs.

L'ajax, bien trop lourd pour ce que tu veux faire Smiley smile