[PHP] Valeur par défaut lors du rechargement d'un formulaire

Valeur par défaut lors du rechargement d'un formulaire [PHP] - PHP - Programmation

Marsh Posté le 09-03-2010 à 10:16:12    

Bonjour,
 
j'ai un index.php avec deux div et un include dans chacun d'eux, un pour le formulaire et un pour le contenu.
Lorsque le formulaire en php (généré par des requêtes SQL pour les listes déroulantes) est envoyé, il appelle index.php et le contenu traité est affiché, ainsi que le formulaire lui même.
Je voudrais savoir s'il était possible que le formulaire ne soit pas remis à 0 mais garde les valeurs de la dernière requête envoyée, en évitant de mettre 3 tonnes de variables de session pour gérer ça (c'est un gros formulaire ^^).
 
Merci pour vos réponse (et si il y a pas, je vais avoir du boulot :p )


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 09-03-2010 à 10:16:12   

Reply

Marsh Posté le 09-03-2010 à 10:31:43    

Et bien ça dépend.
 
Est-ce que les données sont enregistrées et récupérables quelque part ?
 
Si oui, alors rien ne t'empêche de récupérer les dernières données envoyées et t'en servir pour pré-remplir ton formulaire.

Reply

Marsh Posté le 09-03-2010 à 10:38:17    

Tirkyth a écrit :

Et bien ça dépend.
 
Est-ce que les données sont enregistrées et récupérables quelque part ?
 
Si oui, alors rien ne t'empêche de récupérer les dernières données envoyées et t'en servir pour pré-remplir ton formulaire.


Hé bien vu qu'elles sont envoyées par le formulaire je suppose que je peux les récupérer avec $_POST. Mais comme je l'ai dis le formulaire est généré en php, et je vois pas comment je pourrais placer correctement l'attribut "selected".


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 09-03-2010 à 10:49:25    

Non la question était plutôt: est-ce que tu vas stocker dans ta base de donnée les valeurs rentrées par l'utilisateur dans le formulaire?
Car dans ce cas il suffit de les rappeler et de remplir les champs avec ces valeurs et de positionner tes select.

Message cité 1 fois
Message édité par garath_ le 09-03-2010 à 10:50:01
Reply

Marsh Posté le 09-03-2010 à 10:51:05    

Et bien ton include doit pouvoir gérer la variable $_POST si elle est définit. DOnc dans le fichier  php qui gere ton forumlaire, tu fais un
if (isset($_POST)) et tu mets les valeurs par defaut égales à celles envoyées.

Reply

Marsh Posté le 09-03-2010 à 10:54:44    

garath_ a écrit :

Non la question était plutôt: est-ce que tu vas stocker dans ta base de donnée les valeurs rentrées par l'utilisateur dans le formulaire?
Car dans ce cas il suffit de les rappeler et de remplir les champs avec ces valeurs et de positionner tes select.


Ah, non c'est l'inverse qui est fait (le but de la page est de traiter les données de la base pour faire des graphiques).
 

rengzehn a écrit :

Et bien ton include doit pouvoir gérer la variable $_POST si elle est définit. DOnc dans le fichier  php qui gere ton forumlaire, tu fais un
if (isset($_POST)) et tu mets les valeurs par defaut égales à celles envoyées.


Ah j'y avais pas pensé de cette manière, ça va grandement alourdir le code mais si il n'y pas d'autre solution je prend celle là.
 
Merci.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 09-03-2010 à 11:05:19    

Tangrim a écrit :


Ah j'y avais pas pensé de cette manière, ça va grandement alourdir le code mais si il n'y pas d'autre solution je prend celle là.
 
Merci.


Je rectifie: j'avais écarté cette solution car il y a aussi des actions dans la div contenu, je m'explique:
on envoie son formulaire, on bidouille la div contenu pour avoir le rendu qu'on veut (ça appelle un tas de fonction en php).
Et quand on appelle un lien dans la div contenu, les variable $_POST ne sont plus accessibles.
 
Le but c'est de ne pas avoir à reremplir tout le formulaire lorsqu'on ne veut changer qu'un champ.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 09-03-2010 à 11:15:34    

Tangrim a écrit :


Et quand on appelle un lien dans la div contenu, les variable $_POST ne sont plus accessibles.

 

et ce dès le début de l'include ? car sinon, tu copies $_POST dans un tableau temporaire !?

 

ou au début de ton script principal tu  fais un if isset($post) $toto=$_post et après tu utilises $toto.

Message cité 1 fois
Message édité par rengzehn le 09-03-2010 à 11:17:59
Reply

Marsh Posté le 09-03-2010 à 11:30:45    

rengzehn a écrit :

 

et ce dès le début de l'include ? car sinon, tu copies $_POST dans un tableau temporaire !?

 

ou au début de ton script principal tu  fais un if isset($post) $toto=$_post et après tu utilises $toto.


Mais lors d'un autre rechargement de page $toto n'existera plus (et $_POST['toto'] non plus).
On en revient à utiliser des variables globales (de sessions par exemple).
En fait j'imaginais qu'il existait un truc comme php_last_send(); pour remettre le formulaire dans le dernier état connu.

 

Tant pis ^^

 

Merci du temps pris pour vos réponses en tout cas.

 

edit: je viens de faire un champ avec une variable de session, ça pose un autre problème: on peut régler l'ordre dans lequel les pages php sont traitées (dans le cas de deux include) ? (J'ai la main sur le serveur si il faut régler ça la dedans).


Message édité par Tangrim le 09-03-2010 à 11:50:22

---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Sujets relatifs:

Leave a Replay

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