Gå til innhold

ASP: Løst:Hvordan putte variabel i Request.QueryString?


Anbefalte innlegg

LØST

 

 

Eksempel:

 

Dim intPage
intPage = request.querystring("S")

 

Jeg har laget meg en funksjon som forhindrer injection, og som jeg skal bruke på alle querystrings. Da må jeg få satt inn en variabel mellom (" og "), i stedet for det eksakte navnet, som i eksempelet over er S.

 

Eks:

 

Dim intPage, strString
strString = S
intPage = request.querystring("" & strString & "")

 

Eksempelet ovenfor fungerer ikke. Ei heller med 1 eller 3 quotations.

 

Er det umulig å putte en variabel inn der?

Endret av neitakk
Lenke til kommentar
Videoannonse
Annonse

Lagrer ingen string noe sted. String spesifiserer kun hva som skal spørres etter i querystring. S i querystring brukes jo ikke som intPage = s

 

Edit:

 

Du kan jo få se funksjonen jeg har laget, og hvordan jeg "ringer den":

 

Function filterRequest(sRequest,strQuery,ilen)
if Request.QueryString(strQuery) <> "" then
 sRequest = Request.QueryString(strQuery)
 if isNumeric(sRequest) then
 	sRequest = CLng(sRequest)
 else
 	sRequest = ilen	
 end if
else
 sRequest = ilen
end if
filterRequest = sRequest
end function

intPage = filterRequest(intPage,"S",1)

 

Som du ser, så ender jeg opp med en int-verdi uavhengig stringen som brukes for å spesifisere hvilken query det gjelder.

 

Funker så det griner, og slipper å skrive de pokkers if-kodene for hver eneste query... hehehe!

Endret av neitakk
Lenke til kommentar
Overtas av int-variabelen som "ringer" funksjonen.

9534110[/snapback]

 

Call/invoke a function = påkalle/kalle/starte en funksjon.

Telefonsamtaler eller vekkerklokker som ringer når man programmerer er en uting... :p

9534766[/snapback]

Herre min hatt da, det er en grunn til at det står i anførselstegn. I stedet for å skrive "calle" eller kalle klovn, skriver jeg noe som er lett å forstå. ;)

Lenke til kommentar
Kan folk snart lære seg å definere variabeltyper nå? Det er en fantastisk uting å ikke typedefinere variablene sine. Komplett idioti.

9533492[/snapback]

 

Enda mer fantastisk at det ikke er neitakk sin feil. VBScript, som er scriptspråket i ASP, har ingen syntax for å definere en variabels type.

 

Dim someString as string

gir feilmelding.

 

Regner med at du forelsker deg enda mer i alt som inneholder bokstavene "VB" nå :D

Lenke til kommentar

Finnes det folk som prefikser variablene sine enda?

Hva er poenget? Du fåt vite datatypen? hva så? det burde du ha kontroll på i utgangspunktet, og hvis du har 100000 variabler, så må du dele opp koden din bedre.

 

Deklarer alle variabler først, og kommenter dem, mer en det burde ikke være nødvendig.

 

Nå er det ikke datatyper i VBScript (som jeg regner med er det dere bruke her) men i VB.NET er det utrolig viktig å bruke datatyper.

Det har en stor ytelsesforskjell, og RAM forbruk.

Lenke til kommentar
Overtas av int-variabelen som "ringer" funksjonen.

9534110[/snapback]

 

Call/invoke a function = påkalle/kalle/starte en funksjon.

Telefonsamtaler eller vekkerklokker som ringer når man programmerer er en uting... :p

9534766[/snapback]

Herre min hatt da, det er en grunn til at det står i anførselstegn. I stedet for å skrive "calle" eller kalle klovn, skriver jeg noe som er lett å forstå. ;)

9535133[/snapback]

 

Sorry, jeg trodde du skrev det fordi du ikke viste det, og prøvde å være snill. Men når du sier at du vet det, men var SLØV å ikke gadd å skrive det ordentlig så er saken en helt annen, og dermed enda bedre grunn til at jeg skrev innlegget mitt. Skjerpings!

Lenke til kommentar

Joda, koden din er grei nok den. Manfred som driver med flisespikkeri... ;)

 

Men jeg ville nok heller skrevet den sånn:

Function FilterRequest(sRequest,strQuery,ilen)
if IsNumeric(Request.QueryString(strQuery)) then
 FilterRequest = CLng(Request.QueryString(strQuery))
else
 FilterRequest = ilen
end if
end function

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...