webForumDet fria alternativet

Request.querystring("X") med X innehållande % tecken

ASP

9 svar · 333 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Hej alla !

Hur gör man för att Request.querystring("x") ska fungera med en sträng med % tecken?

När jag submittar en sträng med % tecken så klipps % tecknet bort från variablen. Kan man gå runt detta på något sätt?

Medlem sedan dec. 20003 563 inlägg
#2
server.URLDecode
Medlem sedan maj 20012 080 inlägg
#3

Vänligen utveckla... :)

Medlem sedan dec. 20003 563 inlägg
#4

Hmm. Nu inser jag att jag läste frågan helt fel.
Hur menar du? Ett % ska följa med i en querystring.
Hur blir denna kod för dig, om du skriver ett % d.v.s.?

<form action="testfil.asp" method="get">
	<input type="text" name="qs">
	<input type="submit" value="knapp">
</form>
<br/>
<%
response.write(request.querystring("qs") & "<br/>")
%>
Medlem sedan maj 20012 080 inlägg
#5

Har en variabel "x" som innehåller "WHERE ID LIKE '%klökl%' " men när jag postar denna med querystring till sida 2 så ser variabeln ut så här:
"WHERE ID LIKE 'klökl'"

I och med att jag anväder strängen i en sql fråga så fungerar det inte om inte % tecknen sitter där de ska.

Medlem sedan dec. 20003 563 inlägg
#6

1. Det funkar utmärkt att skicka den infon utan att % försvinner. Testa gärna i testkoden ovan.
Hur menar du att "variabeln" innehåller annan information sedan. Du skapar en ny variabel från request.querystring antar jag?
2. Se upp för sqlinjections och att kanske din ' förstör på något sätt
3. Skicka INTE sql-frågor genom querystrings.

Medlem sedan maj 20012 080 inlägg
#7

Sida A

....
MIN URL = designen_cid2.asp?load_page=show_list/show_list.asp&where_search=WHERE ID LIKE '%ert%'

SIDA B

<%=Request.querystring("where_search") %>

Resultat:

WHERE ID LIKE 'ert'

???

Skicka INTE sql-frågor genom querystrings.

Jag antar att du säger så pga av säkerhetskäl. Jag vill att sökningen ska vara möjlig att skicka med email. Detta göres genom att klippa ut urlen och pasta in den i ett email. Websidan är *enbart* accessbar via ett slutet nät (intranät).

Tack för hjälpen. Vad gör jag för fel???

Medlem sedan maj 20012 080 inlägg
#8

Kanske ska nämna att load_page urlen köres med server.execute. Kan det påverka?

<% if sLoadPage <> "" then %>
	<!--- Ladda sidan --->
	<p><% Server.Execute sLoadPage %>
	<!--- Ladda sidan --->
<% else %>
	<br><br><br> Sidan är ej laddad
<% end if %>
Medlem sedan maj 20012 080 inlägg
#9

= B I N G O =

Denna sida hjälpte mig att komma runt problemet. http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

Ersätter jag "%" med "%25" i min URL så fungerar det klockrent. :)

Medlem sedan dec. 20003 563 inlägg
#10

Ok. Bra att det löste sig.
Server.URLEncode skapar just den effekten kan tilläggas. :)

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)