server.URLDecode
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?
9 svar · 333 visningar · startad av mattiasnordin
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?
server.URLDecode
Vänligen utveckla... :)
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/>")
%>
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.
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.
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???
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 %>
= 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. :)
Ok. Bra att det löste sig.
Server.URLEncode skapar just den effekten kan tilläggas. :)