Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/04/2007, 18h13   #1
Invité de passage
 
Inscription : avril 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 9
Points : 4
Points : 4
Par défaut Recopie du Request.Form

Bonjour,

Dans le cadre de mon stage j'ai un site où plusieurs formulaires (sur des pages différentes) se suivent. J'aimerais donc conserver les données reçues du Request.Form afin que sur ma dernière page j'ai l'ensemble des variables précédentes.

Pour cela j'avais pensé recopier les variables du Request.Form dans Session mais un problème se pose : comment obtenir les "clés" du dictionnaire de donnée du Form ? Le type standard des dictionnaire est Scripting.Dictionnary et possède une méthode Keys bien utile. Malheureusement le dictionnaire du Form est un IRequestDictionnary, type de donnée "caché" contenant que 3 méthodes : count, key("valeur de clé a modifier") et Item.

Pouvez-vous m'aider s'il vous plait ?

EDIT: Je précise que dans l'idéal, j'aimerais qu'une variable Request.Form("var1") soit dans Session("var1")

EDIT²: Si je pouvais faire un for each sur Request.Form et avoir la clé a coté, ca serait nickel aussi
peXounet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 18h36   #2
LEK
Membre éclairé
 
Inscription : mai 2005
Messages : 596
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 596
Points : 363
Points : 363
Même si la manoeuvre me semble louche : tu peux facilement arriver à tes fins en effet en bouclant avec un foreach...
Voilà un exemple qui fait presque ce que tu demandes (!) : Liste de Request.Form et Request.QueryString
LEK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 09h33   #3
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
Bonjour,

perso, je ferai plutôt comme ça (car tu es dans une succession de formulaires) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<form name="...">
<!-- rappel des champs précédents --><% 
for each item in request.form
  select case lCase(item)
  case "submit", "..."  'les champs que l'on ne souhaite pas reprendre
  case else
    response.write "<input type=""hidden"" name=""" & item & """ value=""" & request(item) & """>"
  end select
next %>
<!-- fin du rappel des champs précédents -->
[...]
</form>
pour le faire régulièrement, je peux te dire que ça marche plutôt pas mal.

Nicolas.
__________________
Nico, l'agrotic géomatic
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 10h03   #4
Invité de passage
 
Inscription : avril 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 9
Points : 4
Points : 4
Citation:
Envoyé par agrotic
Bonjour,

perso, je ferai plutôt comme ça ...
Wow, j'avais pas pensé à ça ... c'est malin effectivement ...

Par contre j'ai réussi à faire ce que je voullais au départ avec une boucle for each (je ne sais vraiment pas pourquoi ça ne marchait pas hier ... enfin soit). L'avantage de conserver les valeurs dans la session c'est que je peux rajouter un bouton "précédent" et préremplir les champs.

Remarque, avec l'autre aussi, en créant un formulaire simplement pour le bouton précédent et en recopiant une 2e fois les variables ...

Enfin voici ma boucle toute bête :
Code :
1
2
3
4
 
For Each Champ in Request.Form
	 Session(Champ)=Request.Form(Champ)
Next
Tout simplement !

Merci à tous.
peXounet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 10h09   #5
LEK
Membre éclairé
 
Inscription : mai 2005
Messages : 596
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 596
Points : 363
Points : 363
Pour le parcours de request la syntaxe est la même que celle donnée par le lien. Par contre afin d'assurer la persistance entre plusieurs pages la technique d'agrotic semble plus "propre".
LEK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2007, 18h54   #6
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

Pourquoi tu ne met pas tout simplement les données reçu du formulaire en hidden ou alors dans un cookies ainsi personne ne les voie et à la fin de ton formulaire tu récupère toutes les données remplis dans chaque formulaire

++
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2007, 23h38   #7
LEK
Membre éclairé
 
Inscription : mai 2005
Messages : 596
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 596
Points : 363
Points : 363
Hello Kaiser,
Citation:
Pourquoi tu ne met pas tout simplement les données reçu du formulaire en hidden
lol,c'est exactement ce qu'exécute le code d'agrotic de manière trés séduisante je dirais.

;-)
LEK est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h34.


 
 
 
 
Partenaires

Hébergement Web