Avatar billede Slettet bruger
22. december 2005 - 00:02 Der er 7 kommentarer og
1 løsning

et spørgsmål om session

Hej eksperter.

Jeg er ved at lave et loginområde, som opretter en session når man logger ind...
- Det er imidlertid ikke noget problem...
Jeg har så på alle mine login-sider lavet nedenstående include:
<%
if (Session("Uid") = "0" OR Session("Uid") = "") then
Response.Redirect "NoLogin.asp"
end if
%>
Denne funktion skulle gerne sørge for at man ikke kan se siden hvad man ikke er logget ind...
Men problemet opstår idet at min server er sat til at bevare en session i 20 minutter...
- Skal det så ikke forståes sådan at klienten har 20 minutter fra at man logger ind til at lave noget i... Ligegyldigt hvor aktiv man så end måtte være i de 20 minutter - eller hvordan?
Og i så fald. Kan man lave det sådan at en bruger kun bliver smidt af hvis 20 minutters inaktivitet er tilfældet?

- Håber jeg har forklaret mig godt nok...

\Dan
Avatar billede kbonline Nybegynder
22. december 2005 - 00:13 #1
Du kan vel lave en include fil som hentes hver gang man skifter side, som genstarter den pågældende session.

Dvs. den starter fra 20 min. igen hvis den besøgende er aktiv på din hjemmeside.
Avatar billede inglenook Praktikant
22. december 2005 - 00:14 #2
20 minutter fra sidste aktivitet.

Altsaa, hvis brugeren lader sin PC vaere i mere end 20 minutter vill session end. Ellers bliver de 20 minutter 're-started' hver gang brugeren klikker en link etc.
Avatar billede Slettet bruger
22. december 2005 - 00:22 #3
Jeps det er lige præcis det jeg efterspørger...
Men hvordan skal dette se ud i min ovenstående include?
- Er dette her helt forkert?
<%
if (Session("Uid") = "0" OR Session("Uid") = "") then
Response.Redirect "NoLogin.asp"
else
Session("Uid") = Session("Uid")
end if
%>

\Dan
Avatar billede erikjacobsen Ekspert
22. december 2005 - 00:26 #4
Du skal ikke rette noget i din kode. Hvert klik der fører til din side opdaterer automatisk, så der efterfølgende er 20 minutter til udløb af sessionen.
Avatar billede kbonline Nybegynder
22. december 2005 - 00:29 #5
den simple løsning vil vel være :
session("uid")=session("uid")

Muligvis med en
if session("uid")<>"" then

foran.
Avatar billede inglenook Praktikant
22. december 2005 - 00:35 #6
du boer vel ikke goere noget hvis session er ok ....?

<%
if (Session("Uid") = "0" OR Session("Uid") = "") then
Response.Redirect "NoLogin.asp"
end if
%>
Avatar billede Slettet bruger
22. december 2005 - 00:37 #7
erikjacobsen - Det virker ikke hvis jeg ikke retter noget i min kode... Jeg har prøvet at tage tid på nogle forskellige ting... Og altså fundet ud af at min server kun opretholder sessionen på 20 minutter fra at brugeren logger sig ind, og ikke vedligeholder det... Så det er som jeg også har skrevet i mit første indlæg...

kbonline - Jeg siger mange tak for dit svar! Dette vil vel altså sige at det eksempel jeg skrev til at starte med er ok? Altså det eksempel hvor sessionen bliver opdateret hvis den ekesisterer i forvejen?
- Jeg vil straks tilføje det i min include.
Mange tak for hjælpen...
kbonline - Smider du ikke lige et svar?

\Dan
Avatar billede kbonline Nybegynder
22. december 2005 - 00:41 #8
naturligvis, jeg håber du får det til at virke :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester