webForumDet fria alternativet

?page=hem.asp

ASP

11 svar · 300 visningar · startad av asp

Medlem sedan aug. 2002733 inlägg
Frågan#1

Har sett att många har såhär i deras adressfält:

?page=hem.asp

..har de gjort såhär då?

<!--#include file="<%= Request.QueryString("page") %>"-->

bara undrar!!!

Medlem sedan juli 20033 147 inlägg
#2

hm, du menar inte .asp?page=hem? ;)

Medlem sedan juni 20015 009 inlägg
#3

Nej det kan stämma att de gjort så men jag tycker det verkar onödigt. Men det skulle funka, qs går fylls i includen. Problemmet är att om användaren pillar lite i fältet så kan det bli väldigt fel.

Det är bättre om du gör som Melea säger och har ?page=hem och så på sidan gör du ett script som kollar om det ngt ska hända när qs hem infaller. Gör den det så ska en speciell sida laddas in.

Medlem sedan juni 200032 967 inlägg
#4

Man kan inte göra så med includes eftersom SSI alltid körs innan asp-tolken börjar kika på koden.

Jag kan tänka mig att antingen körs Server.Execute Request.Querystring("page") (mer eller mindre, efter kontroll av querystringen i alla fall), eller att man använder querystringens värde för att hämta ur databas.

Medlem sedan aug. 2002733 inlägg
#5

Ok.

Jag använder mig av QueryStrings.. ?page=hem

Men det skulle vara roligt att testa det andra sättet...

Medlem sedan dec. 20003 887 inlägg
#6

Det andra sättet? SSI är väldigt odynamiskt som det har påpekats, men det går väl, antar jag, att göra så här istället

Select Case Request.QueryString("page")
  Case "hem.asp"
    Response.Redirect "hem.asp"
  Case Else
    Response.Redirect "index.asp"
End Select

SSI används dock med fördel för helt statiska saker, som alltid ska vara på just den sidan.

Medlem sedan aug. 2002733 inlägg
#7

Den där koden är ju inte speciellt bra eftersom jag vill ju ha en meny runt allt...

Medlem sedan dec. 20003 887 inlägg
#8

Det är väl mer en fråga om hur du separerar kod i dina sidor. Men, eftersom jag faktiskt inte bygger sidor med asp bör jag nog påpeka att mina tips inte alltid stämmer överens med verkligheten ;)

Medlem sedan aug. 2002733 inlägg
#9

Ok! Men skulle inte denna kod gå

Response.Redirect(Request.QueryString("page"))

Så skriver man ?page=links.asp så kommer man till links.asp....

Medlem sedan dec. 20003 887 inlägg
#10

Jo, men då har du fortfarande bekymret att querystringen kan innehålla felaktigheter... t.ex. om någon skriver in ?page=felaktigasidan.ha.ha

Medlem sedan aug. 2002733 inlägg
#11

Ja men då får du skylla sig själva... :P

Medlem sedan dec. 20003 887 inlägg
#12

Hehe... :)

Lathetsprogrammering ;)

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