- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP] request.querystring se ci sono spazi mi da errore
-
[ASP] request.querystring se ci sono spazi mi da errore
ciao a tutti,
devo passare via request.querystring un parametro del tipo "alfa romeo", ma la request nella barra dell'indirizzo mi visualizza solo "alfa", secondo voi come mai? Posso evitare questo problema?
Grazie,Marco
-
Ciao sherlock,
prova con alfa%20romeo
-
quindi tu dici che se nella variabile estratta con una query da db ci sono spazi devo fare una funzioncina che sostituisca ad ogni spazio il %20?
Marco
-
Non ho capito bene se "alfa romeo" è il valore della variabile o il nome della variabile, perchè se fosse il nome lo spazio non è ammesso, sostituiscila con:
alfaRomeo oppure alfa_romeo
-
Ciao,
poichè non è possibile che gli url contengano spazi (a altri caratteri particolari) allora quando generi un URL che potrà contenere spazi nei parametri dovrai necessariamente utlizzare la funzione Server.UrlEncode(variabile_con_possibili_spazi)Dopodichè potrai riconsiderare il valore del parametro con la decodifica tramite:
function URLDecode(sText) sDecoded = sText Set oRegExpr = Server.CreateObject("VBScript.RegExp") oRegExpr.Pattern = "%[0-9,A-F]{2}" oRegExpr.Global = True Set oMatchCollection = oRegExpr.Execute(sText) For Each oMatch In oMatchCollection sDecoded = Replace(sDecoded,oMatch.value,Chr(CInt("&H" & Right(oMatch.Value,2)))) Next URLDecode = sDecoded End function ' Esempio Dim parametro parametro = **Server.UrlDecode**(Request("tuo_parametro")) ```:ciauz: