The manual Page
English version
accueil | glossaire | downloads | liens ]
 

Collection Request.QueryString

Synopsis

Request.QueryString(Variable)[(Index)|.Count]

Lecture seule

Cette collection est utilisée pour manipuler la chaîne de requête ("query string" en anglais) que le client envoie au serveur pour faire sa requête. La query string est la partie de l'URL qui suit le point d'interrogation. Par exemple, dans l'URL http://www.monserveur.com/page.asp?var1=toto&var2=titi, la chaîne de requête est var1=toto&var2=titi.

Cette collection est très utile pour les formulaires que l'on a envoyés au serveur par la méthode GET, ou pour transmettre simplement une variable d'une page à une autre.

Request.QueryString fonctionne de la même façon que Request.Form : Variable est le seul paramètre obligatoire, Index et Count étant optionnels.

Utilisation de la collection

Récupérer les variables

Pour récupèrer les variables passées dans l'URL ou les données d'un formulaire envoyé par la méthode GET, on utilise tout simplement leur nom :

Si l'URL est http://www.monserveur.com/page.asp?var1=toto&var2=titi, la collection Request.QueryString contiendra les éléments Request.QueryString("var1") (qui vaut "toto"), et l'élément Request.QueryString("var2") (qui vaut "titi").

Une telle URL peut être construite avec le formulaire suivant :

<FORM action="formulaire.asp" method="get">
	<INPUT type="text" name="var1" value="toto">
	<INPUT type="text" name="var2" value="titi">
	<INPUT type="submit" value="envoyer">
</FORM>

En VBScript, comme toutes les collections, il est possible de parcourir Request.QueryString avec une boucle For Each ... Next :

For Each element In Request.QueryString
	Response.Write(element & " = " & Request.QueryString(element))
Next

Les variables à valeurs multiples

De telles variables se rencontrent lorsqu'on utilise des listes à choix multiple ou des zones de cases à cocher dans des formulaires (en fait, dè l'instant où plusieurs éléments du formulaire portent le même nom). On manipule ces variables avec cette collection de la même façon qu'avec la collection Request.Form. Index est un indice allant de 1 à Request.QueryString(...).Count :

Formulaire initiale :

<FORM action="formulaire.asp" method="get">
	<SELECT name="liste" size="10" multiple>
		<OPTION value="element_1">element 1</OPTION>
		<OPTION value="element_2">element 2</OPTION>
		...
	</SELECT>
	<INPUT type="submit" value="OK">
</FORM>

ou :

<FORM action="formulaire.asp" method="get">
	<INPUT type="checkbox" name="liste" value="element_1"> element 1<BR>
	<INPUT type="checkbox" name="liste" value="element_2"> element 2<BR>
	...
	<INPUT type="submit" value="OK">
</FORM>

formulaire.asp :

<%
Response.Write(Request.QueryString("liste").Count & " elements :<BR>")
For i = 1 To Request.QueryString("liste").Count
	Response.Write(Request.QueryString("liste")(i) & "<BR>")
Next
%>

Ce qui donne, si on a sélectionné ou coché les éléments 1, 5 et 13 :

3 elements :
element_1
element_5
element_13

L'URL qui a été envoyée au serveur est :

formulaire.asp?liste=element_1&liste=element_5&liste=element_13

On peut enfin noter que l'on peut directement récupérer la chaîne de requête en appelant directement Request.QueryString :

Response.Write(Request.QueryString) donne par exemple var1=toto&var2=titi

format imprimable format imprimable



Copyright © 2000-2006 themanualpage.org - Ce site est soumis aux conditions décrites dans les licences GNU GPL et FDL.