17. april 2004 - 22:16Der er
9 kommentarer og 1 løsning
server.execute tilføjet en variabel?
Hej...
Jeg vil meget gerne - via server.execute - kunne sende en variabel med. Noget a la dette:
server.execute "etellerandet.asp?navn=ib"
...kan det bare overhovedet ikke lade sig gøre? Hvis ikke, hvad gør jeg så? Jeg skal have noget med retur (fra etellerandet.asp) til den kaldende side. Men det der skal med tilbage skal variere lidt, afhængig af den variabel der sendes med...
...jo det har jeg også selv tænkt på - men er der ikke noget med at man kan slå sessions fra på en eller anden måde (eller er det kun cookies?)....? Det er ret vigtigt at det virker, så....kan der gå noget galt ved brug af sessions? (For ellers er det jo en nem måde at løse problemet på).
jeg har måske misforstået dig, men følgende kan i hvert fald lade sig gøre...
Hvis vi forestiller os at dit hoveddokument hedder main.asp og dit inkluderede asp dokument hedder include.asp
hvis main.asp således kaldes med nogle parametre, f.eks.: main.asp?navn=ib
og du i main.asp inkluderer include.asp via server.execute kan du i include.asp hente variablen navn ganske normalt via
navn = request("navn")
Men hvis variablen navn IKKE er een der sendes til main.asp som parameter, men een du f.eks henter fra en database, er du nødt til at hente denne variabel frem fra databasen på ny fra dokumentet include.asp da variabler deklareret i main.asp desværre ikke kan læses fra dit server.execute dokument.
Men ellers kan du selvfølgelig som allerede foreslået putte variablerne i sessions variabler i main.asp for at kunne læse dem i include.asp
Og ja; du har ret - hvis en bruger fuldstændig har slået brugen af cookies fra, vil session variabler IKKE fungere :-(
>>hvis en bruger fuldstændig har slået brugen af cookies fra, vil session variabler IKKE fungere :-( Sludder så ved du vist ikke hvordan en session variable virker.
Session gemme også selvom folk slår cookies fra, det de slår fra er at man gemmer session id'et og dermed kan finde session variablen igen når man loader en anden side som henter fra samme variable. Så længe siden køre på serveren virker session ligemeget hvordan brugeren har sat det op.
Jeg må vist hellere forklare lidt mere præcis, hvad det er jeg skal bruge sagerne til. Men jeg er altså ude efter en så enkel og sikker måde at gøre det på, så indtil videre ser sessions jo lovende ud.
Jeg har et navigationspanel, som går igen på flere sider. Det er lidt irriterende at skulle rette det samme panel på alle sider, når behovet opstår, så derfor vil jeg gerne hente panelet ind på siderne fra en eneste side (hvor nav.panelet er beskrevet - siden kunne eksempelvis hedde navigation.asp).
Oprindelig ville jeg blot have brugt den der ssi-version med <!--#include file="navigation.asp"-->, hvad der i og for sig også virker fint. Problemet er blot at tekst-linjerne i navigationspanelet skal ændre sig, afhængig af hvilken side panelet dukker op på. F.eks. så teksten "Startside" (i nav.panelet) skal være fed, når brugeren er på startsiden osv.
Dette kan jo forholdsvis nemt ordnes med lidt asp-kodning (f.eks. lidt if-then sætning) - men kun hvis jeg har et eller andet med fra "main-siden" til navigation.asp, der fortæller til hvilken side navigationspanelet nu skal bruges.
Det ville jeg kunne gøre med: server.execute "navigationspanel.asp?side=hoved" - hvis dette altså overhovedet var muligt (hvad det vist ikke er). Alternativt kan jeg benytte mig af mulighederne i en session.
...og så vidt jeg har forstået, er jeg nødt til at bruge server.execute for at få serveren (eller hvad det nu er) til at tolke navigationspanel.asp inden sidens (tolkede) indhold hentes ind på hovedsiden. Således dur server.transfer vist ikke (da den så vidt jeg husker ikke hiver noget resultat med tilbage....?!?).
okay...jeg troede ikke at man kunne bruge/genbruge variabler på tværs af forskellige asp-sider. Har jeg misforstået dette? Kan jeg virkelige få værdien "hej" frem på den side som tolkes/hentes? Er det fordi det drejer sig om ssi? Eller ville jeg også kunne det på tværs af alle andre asp-sider?
hæhæ - nu har jeg prøvet med både session og den der almindelige variabel. Og begge dele virker upåklageligt. Så er der en af de to måder at gøre det på, der er at foretrække? Er det ene hurtigere at afvikle, eller er der andet der gør, at jeg bør vælge den ene måde frem for den anden?
...og så lige et spørgsmål - det der med at hive variablen (<%navn="ib")%>) med, virker jo så når jeg includer...men ville det også virke mellem to uafhængige asp-sider? Så vidt jeg husker...nej...men husker jeg rigtigt? Kunne selvfølgelig teste, men hvis du nu lige har svaret ved hånden...
Pointene går vist til eagleeye for første brugbare løsningsmodel - men stort tak til jer begge for forsøget på at hjælpe mig :)
Venligst Marianne
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.