Jeg er ved at lave om på min hjemmeside og skal have lavet så når man trykker på et link skal den gå til en bestemt side og med noget bestemt indhold.
Jeg har en index.asp fil hvor jeg har det bestemte indhold og når man trykker på et link i menuen bruger den index.asp?menu=games så den viser "hovedsiden" og selve games indhold i midten af siden (Som includefil så jeg altid har den samme menu osv. og kun ændre på indholdet)....
Nu vil jeg gerne i index.asp filen have lavet så jeg ved hjem af querystring viser noget på den side jeg smider i indholdet på hovedsiden... Altså noget ligende:
Må jeg have lov til at foreslå dig at benytte server.execute i stedet for #include, det er mere fleksibelt og det performer bedre (iflg. min ovebevisning)...
Så kan du lave dine sider nogenlunde således (og det er altså med den grov fil dette er lavet):
Samme princip kan du benytte på undersiderne, dvs. gøre brug af request.querystring("game") på undersiden til enten at slå op i en database eller simpelthen lave en side til hvert spil (databaseudgaven er at forestrække, men det afhænger jo af dit ambitionsniveau).
Jeg er til dels enig med softspot, meen du skal blot huske en ting så Og det er at så vil et kald til noget som index.asp?menu=hemmelig_fil_navn&game=noget resultere i at du eksekverer filen "hemmelig_fil_navn.asp" Med andre ord vil du risikere at ondsindede personer kan eksekvere kode du ikke regner med Et problem kan være kaldet til index.asp?menu=inde.asp...osv som så kalder sig selv igen og igen indtil serveren melder timeout Derfor ville jeg tjekke menunavnene inden jeg kalder server.execute hvis jeg var dig, evt op imod en database
Som sagt, det var sammensat med den grove fil og der er, aht. klarheden i brugen af teknikken, altså ikke taget højde for alle disse eventualiteter. Naturligvis skal det ikke bare bruges råt... :)
Synes godt om
Slettet bruger
27. oktober 2005 - 13:11#4
hmmm... det er rigtigt.... men tror ikke det bliver det store problem da jeg blot gør følgende i min index.asp når man trykker på noget i menuen på siden:
menu = request.querystring("menu") select case menu case "spil" %> <!--#include virtual="link til spil.asp fil"--> osv...
Men jeg vil så gerne når man kommer ind på games siden som jo også er en include fil at man kan trykke på et bestemt spil og den så laver en request på spilnavnet og bruger den til at vise spillet med med følgende kode: <param name="movie" value="/link til spil/<%response.write request.querystring("spil")%>.swf">
Det virker fint, men den viser det jo så i på den side som jeg har koden i men ikke med min menu osv. da det jo er index.asp hvor alle sider bliver vist som include midt på siden hvis i kan følge mig? Jeg vil så gerne have at når jeg trykker på et spil link så viser den index.asp med includefilen i midten hvor spillet så bliver vist i... :-)
Alt andet lige, så giver det nogle større sider som VBScript skal forholde sig til og det giver et større serverload fordi includes altid skal læses uanset om de bruges eller ej. Som jeg nævnte tidligere, så er server.execute bedre, dels fordi det kun er den nødvendige side skal loades, dels fordi de sider du loader med server.execute er selvstændige ASP-sider og kan derfor caches - hvilket betyder at de endda måske ikke skal loades fra disken når du kalder dem...
Synes godt om
Slettet bruger
27. oktober 2005 - 13:57#7
Okay, det vil jeg så lige prøve... Kan jo altid bruge lidt optimering.. ;-)
Jeg har fundet en løsning selv nu på problemet.. jeg kalder bare filerne direkte fra index.asp og undgår at en ny side skal loades men gør det somsagt direkte på index.asp filen så spillet bliver vist der... giver jo det samme resultat alligevel.. Jeg havde bare ikke tænkt det ordentligt igennem..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.