webForumDet fria alternativet

:::meny med If session ha then:::

ASP

14 svar · 271 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

Hej!

Jag tänker använda en meny som ligger i en .inc fil och den inkluderar jag med på varje sida. emn nu hade jag också tänkt använda en till meny men den ska bara vara till "inloggade"

Går det att göra detta på nått smart sätt??

Har läst nånstans om att använda If "session" kund then inklude kund_meny.inc

på nått liknande sätt.

Medlem sedan juli 20003 825 inlägg
#2

1. login.asp - här finns alla fylla-i-fält.
2. confirm.asp - kollar att allt stämmer
3. index.asp - huvudsidan med koden IF session("inloggad") = FALSE THEN response.redirect "login.asp"

---
I korta drag...

Medlem sedan mars 20025 907 inlägg
#3

Borde väl gå att göra som du själv säger? När man loggat in så skapar du en session som heter ex. kund och har värdet yes.

session("kund") = "yes"

sen gör du en koll på varje sida om sessionen kund finns. Om så är fallet hämta in menyn.

If session("kund") = "yes" then
<!-- #include virtual="/inc/kundmeny.inc" -->
end if
Medlem sedan mars 20023 686 inlägg
#4

Jag hade tänkt att IF session Inloggad inte finns så ska den bara inkludera den vanliga meny.inc filen men om man är inloggad så ska den byta ut menyn till kund_meny.inc

Medlem sedan juli 20003 825 inlägg
#5

Ja, det var inte svaret på din fråga ser jag nu.

Filen menu.asp

Hem
Kontakt
Om oss
IF session("inloggad") = TRUE THEN
-- Tidsbokning
-- Inställningar
-- Prislista
-- Hemligt
-- Superhemligt
-- Logga av
END IF

---
menu.asp ör bättre än menu.inc då man rent teoretiskt kan skriva in sidans namn i webbläsaren och se din kod i klartext beroende på hur servern är konfigurerad. .asp sidor exekveras ALLTID, undantagslöst, oavsett hur konfigurationen ser ut.

Medlem sedan juli 20003 825 inlägg
#6

Nej, inkludera samma fil oavsett om man är inloggad eller ej. Det är klart enklast.

Medlem sedan mars 20023 686 inlägg
#7

och när man loggar ut så kommer den vanliga menyn fram..

peeer, din kod bit var unggefär som jag hade tänkt mig

Medlem sedan juli 20003 825 inlägg
#8

OK, jag kapitulerar. :-)

Peeers kod är klart enklare och det är en fördel.

Medlem sedan mars 20023 686 inlägg
#9

Hehe :)

Medlem sedan mars 20023 686 inlägg
#10

Peeer, överge inte mig nu.

If session("kund") = "yes" then
<!-- #include virtual="/inc/kundmeny.inc" -->
end if

kan du skriva in så att annars så inkluderas den vanliga menyn.inc om man inte e inloggad.

Medlem sedan juni 200032 967 inlägg
#11
<% If session("kund") = "yes" then %>
<!-- #include virtual="/inc/kundmeny.inc" --> 
<% else %>
<!-- #include virtual="/inc/annanmeny.inc" --> 
<% end if %>

Om det bara är sidor som ska exekveras, så rekommenderar jag dock Server.execute istället för ovan includes. :)

Mvh,

Medlem sedan mars 20025 907 inlägg
#12

Kör på @nders kod

Ojojoj... Vad saker man missar när man tar en fika. Ska inte upprepas! :D

r/ @nders, varför ska man använda Server.execute istället? (har inte fått knas på det där än)

Medlem sedan mars 20023 686 inlägg
#13

Tack anders!

Du är en räddande ängel...

Medlem sedan juni 200032 967 inlägg
#14

Re: Kör på @nders kod

Peeer skrev:

@nders, varför ska man använda Server.execute istället? (har inte fått knas på det där än)

När du använder includes på detta sätt, så inkluderas båda sidorna i asp-filen, trots att det bara är en som används. Det beror alltså på att SSI körs innan asp-tolken gör sitt.

Server.Execute exekverar sidor och s.a.s inkluderar resultatet av den sidkörningen. Det innebär att du inte kan komma åt koden i en fil som 'inkluderas' med server.execute.

Slutsats: Behöver du tillgång till funktioner eller variabler eller dylikt, som finns i en annan fil, använd SSI-include. Annars, kör Server.Execute.

Mvh,

Medlem sedan mars 20025 907 inlägg
#15

Ahh... tack för förklaringen. Har tidigare använt includes på allt, men ska genast byta ut det mot server.execute!

251 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)