Phecdaret skrev:
> Jeg er igen kommet i problemer med en SQL forespørgsel.
Standardsvar ved den slags problemer: udskriv den færdige
forespørgsel så du kan se hvad databasen kører. Se hvordan det kan
gøres her: <
http://asp-faq.dk/article/?id=41> (eller se næste
svarblok).
> strSQL = "SELECT * FROM personer WHERE Brugernavn =' " &
> Request.Querystring("X") & " ' "
Her kan du tjekke forespørgslen ved at skrive
Response.write "strSQL: " & strSQL
- og evt. Response.End for at stoppe videre eksekvering.
> Værdien af Request.Querystring("X") er altid "1".
Gælder det generelt eller bare når det går galt? Hvis det generelt
gælder at X altid er 1, er der ingen grund til at overføre den i
quirystring.
> Jeg tjekker forespørgslen ved:
> If rs.Eof Then
>
> Response.Write Request.Querystring("X")
Du får mere information ved at udskrive strSQL.
> Er strSQL skrevet som ovenfor, går forespørgslen under rs.Eof og
> og bruger kommandoen Response.Write Request.Querystring("f")
Muligvis bare en skrivefejl her i indlægget - men du har X de
første tre gange i indlægget, men f her.
> som giver værdien 1. Den skriver altså "1".
Hvordan ved du at det ikke er rs("Accesslevel") der er 1? I din
udskrift har du ingen fast værdi, så du kan kun skelne mellem if-
og else-delen hvis du er helt sikker på at en værdi udskrevet det
ene sted ikke også kan være udskrevet det andet sted. Hvis du
udskriver en fast tekst (fx Response.write "I if-delen, X = " &
request.querystring("X")), er det langt lettere at se hvor du er
havnet.
> PS. Er det muligt at skjule værdierne i en querystring?
Ikke ordentligt. Man kan indlejre sidekaldet i en iframe eller
lignende så det ikke kan ses direkte i browseren, men det er meget
enkelt at finde frem til dem alligevel.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html