Newsgroup: it.comp.www.asp
Titolo: request.querystring

Ho una pagina con un form
...method="get" action="add.asp".....
nella pagina add.asp arrivano tutte le variabili, che rileggo con le varie
.... request.querystring("nome") ....
.... request.querystring("cognome") .....
Poi faccio un ciclo for dove controllo se queste variabili sono stringhe
vuote
.....  request.querystring(i) ="" .....
Ora la mia intenzione era di fare una variabile stringa 'campivuoti' che
contenesse il nome dei campi lasciati vuoti per poi usare un'istruzione del
tipo
response.write("Riempi  i campi vuoti ("&campivuoti&")")
e volevo aggiornare questa variabile nel ciclo for ogni volta che incontravo
un campo vuoto
Ho l'impressione che sia un problema banale ma forse mi sono annodato e non
ne vengo a capo
Come posso risalire da request.querystring al nome della variabile, non al
suo contenuto ?
Sperando di superare il visto del robot moderatore ringrazio
anticipatamente,
Matteo.

 suo contenuto ?
Credo possa andare bene request.querystring(i).name.
Cmq, sicuramente, se fai così ci riesci (vado a memoria... topperò
qualcosa):
For each oReq in Request.QueryString
    If Request.QueryString(oReq) = "" Then
        strVuote = strElencoVuote & oReq & vbCRLF
    Else
        strPiene = strPiene & oReq & vbCRLF
    End If
Next

suo contenuto ?
Questo semplice ciclo ti "stampa" tutte le variabili con il loro
nome e contenuto.
For each v in Request.QueryString
	Response.Write "<b>" & v & "</b>" & ":" & Request.QueryString(v) &
"<br>"
Next
Davide

 writes:
mm> Poi faccio un ciclo for dove controllo se queste variabili sono stringhe
mm> vuote
mm> .....  request.querystring(i) ="" .....
mm> Ora la mia intenzione era di fare una variabile stringa 'campivuoti' che
mm> contenesse il nome dei campi lasciati vuoti per poi usare un'istruzione del
mm> tipo
	Dim campi(1 to quelcheserve)
	camp1(1) = "campo1"
	....
	vuote = ""
	For i = 1 to quelcheserve 
	    If Request.Querystring(campi(i)) = "" Then
		vuote = vuote & campi(i) & " "
            End If
        Next
Può andare (tanto  mi pare di aver capito che i  nomi dei campi almeno
una volta  li scrivi) ?.  Non mi pare  di ricordare che  le collezioni
VB/VBScript abbiano un metodo per ricuperare la chiave di un elemento, 
solo in alcuni ActiveX hanno posto rimedio...
+----------------------------------------------------------------+
| Gian Uberto Lauri * "So, are you working on fixing that bug    |
| 
sa...@eng.it
      *  *now* or leaving it until later ?" - YES  |
+----------------------------------------------------------------+
| Attenzione: rispondo ad ogni invio di pubblicità non richiesta | 
| o spam di qualsiasi altro genere con un messaggio al provider  |
| di competenza. Ai sensi della legge sulla privacy NON avete il |
| permesso di utilizzare i miei dati per questi scopi.           |
+----------------------------------------------------------------+


Grazie mille , provo subito...
se funziona request.querystring(i).name. è proprio quello che cercavo.

 writes:
DB> For each v in Request.QueryString
DB> 	Response.Write "<b>" & v & "</b>" & ":" & Request.QueryString(v) &
DB> "<br>"
DB> Next
Way cool! Non si finisce mai di imparare qualcosa. Qui mi sa che si deve
aggiornare la documentazione disponibile (1 cm circa di fogli A4 :) ).
Qalche indicazione per un buon reference ?


Qalche indicazione per un buon reference ?
For Each...Next e' uno standard per "ciclare" sugli elementi di un
gruppo, array o Collection. Trovi la documentazione anche sull'MSDN.
Davide

> Qalche indicazione per un buon reference ?
DB> For Each...Next e' uno standard per "ciclare" sugli elementi di un
DB> gruppo, array o Collection.
Il VB mi tocca  usarlo molto spesso (ugh :( ) e  fin li' c'ero. Non so
quanto  si perda di  efficenza rispetto  all'uso di  indici, se  se ne
perde.
DB> Trovi la documentazione anche sull'MSDN.
Scusami,  intendevo  un reference  sugli  oggetti. L'espressione  "Way
cool"  era  riferita  al  fatto  che  non  solo  ogni  elemento  della
querystring non solo ha un membro contenente la sua chiave, ma è anche
il  metodo  di default.  A  questo punto  avrei  bisogno  di un  nuovo
reference (nulla di stampato in  libreria ? Ho una certa allergia allo
MSDN, troppo rumore).


Ok grazie a tutti ..
request.querystring.name
 sembra che sia una "proprietà non supportata
dall'oggetto", però con il ciclo "for each in" funziona tutto.
p.s. Bel NG

MSDN, troppo rumore).
Hu! Suppongo che se dai un'occhiata nella massa di manuali made in
Microsoft trovi sicuramente qualche cosa, il problema e' il costo...
Davide


Moderatore di it.comp.www.asp
Sito di supporto: 
http://www.aspitalia.com/newsgroup/icwa.asp
Tutto su WindowsNT? Su 
http://www.aspitalia.com
Professional WAP, per te su 
http://www.aspitalia.com/store/
Impara l'e-conomy su 
http://www.e-conomy.it