conservation de données formulaires en cas de retour

conservation de données formulaires en cas de retour - PHP - Programmation

Marsh Posté le 22-05-2007 à 18:22:53    

Bonjour à tous,
Mon probléme est le suivant :
je dois fabriquer un formulaire susceptible de conserver des données déja remplies justement pour éviter que l utilisateur n ait pas a retaper une deuxiéme fois en cas de correction.Le formulaire est fait,j arrive à récupérer les données et a les afficher (en post)le problème c que si je reviens sur la page je perd les données entrées.Pouvez vous m'aider d'urgence!!

Reply

Marsh Posté le 22-05-2007 à 18:22:53   

Reply

Marsh Posté le 22-05-2007 à 18:28:00    

Il me semble que c'est un comportement normale du naviguateur et qu'il n'y a aucun moyen d'éviter ça à part si on s'amuse à aller rechercher les infos sur le serveur à coup d'AJAX.
 
Si t'es vraiment obligé de contrer ce comportement alors la solution à ton probléme est la suivante :
- 1 page sur le serveur qui renvéra le texte déjà envoyé au serveur et ceci grace à une clé que le navigateur aura reçu dans son cookie ou qui sera stocké en session
- un script javascript qui ira demander les données au serveur pour chaque formulaire de la page.

Reply

Marsh Posté le 22-05-2007 à 18:39:09    

Ok merci,malheureusement je n ai aucune notion en ajax pour l instan.Par ailleurs il parait qu une des méthodes consiste a utiliser un deuxieme formulaire caché grace au type hidden.En fait je peux récupérer les données sans probléme mais après pour les refournir en cas de retour je vois pas!!

Reply

Marsh Posté le 23-05-2007 à 10:20:47    

Moi ce que je fais actuellement, c'est que je sauve $_POST dans $_SESSION dans la page qui fait la validation :

$_SESSION['old_post'] = $_POST;


Puis dans la page qui contient le formulaire, je fais des trucs du genre :

<input type='text' name='firstname' maxlength='40' value='<?php echo $_SESSION['old_post']['firstname'] ?>' />


 
Pour omega2 : le browser va te remplir les champs à coup sûr seulement si tu utilises l'historique du browser pour revenir en arrière. Si tu fait un header('Location: ...'), ton formulaire ne sera pas rempli (à part si ton browser est configuré pour enregistrer les valeurs des formulaires, mais ça tu ne peux évidement pas compter dessus).

Reply

Marsh Posté le 23-05-2007 à 11:11:29    

matafan > Tout dépend des versions des navigateurs. Par exemple, certaines versions d'IE6 oublient le contenu de tous les formulaires même en revenant avec le bouton "précédant". J'ai déjà vu le cas plusieurs fois alors je sais de quoi je parle. C'est d'ailleurs un comportement super chiant quand t'as une page où on te propose de vérifier ton message sans que le formulaire y soit répété en préremplis.

Reply

Sujets relatifs:

Leave a Replay

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