webForumDet fria alternativet

Session.Abandon verkar inte direkt.

ASP

6 svar · 533 visningar · startad av Brimba

Medlem sedan dec. 19995 874 inlägg
Frågan#1

Hej!

Jag har en fil som ser ut så här:

<% Session.Abandon %>
<!--#include virtual="/top.inc" --> 

<B><font face="Verdana, Arial" size="2">Du är nu utloggad!</font></B>

<!--#include virtual="/bot.inc" -->

Problemet är att det som finns i top.inc och bot.inc visas innan det blir session.abandon och det gör ju att den visar den gamla informationen som inte skall vara aktiv längre, man behöver altså göra en reload.

Man skulle ju säkert kunna lösa det på så sätt att man har 2 filer.

först en fil som bara innehåller

Session.Abandon
Response.Redirect bla.asp

sen på bla.asp så har man
include top.inc

osv. Men då får man ju en extra fil.
Går det att lösa på 1 fil?

Tack!

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

Medlem sedan dec. 19991 749 inlägg
#2

I överst på sidan
<%Response.Expires = 30%>

Att det står 30 menas med att sidan ska sluta gälla efter 30sekunder. Sätt den inte till 0 för det kan göra att du slöar ner servern(?) Konstigt men jag läste det på www.tcp-ip.com så jag får tro på det.

------------------
Daniel Olsson - Teknisk Internetkonsult

Personlig sida

KjAM Sekten Community

/N

Medlem sedan dec. 19995 874 inlägg
#3

Hej nanne!

Vad hjälper det mig?
Jag menar att sidan upphör att gälla betyder väl inte att den inte visar den gamla informationen.

Altså Det är så här:

När man har loggat in så ser man vissa bilder och länkar.
Men när man har loggat ut så skall man inte se dom längre och det är det jag är ute efter. För att när man tryckt på "logga ut" så visar den top.inc som vanligt, och top.inc innehåller IF satser som kollar om man är inloggad eller inte, och det är man inte om sessionen är död. Men endå visas bilderna som om man vore inloggad ända tills man trycker på reload. Iofs om man trycker på bilderna som man inte skall kunna komma åt kommer man inte åt någon information eftersom jag har script som kollar om man är inloggad, men jag tycker att den skall döda sessionen och sedan visa top.inc inte lägga top.inc i minnet och sedan döda och sedan visa den top.inc som gällde innan sessionen dödades.

Hoppas ni förstår!

Tack!

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

Medlem sedan dec. 19995 874 inlägg
#4

Löste det nu iofs, men jag tycker det var ett dåligt sätt att lösa det på.

Jag gjorde så här:

<%
Session("UserId")=""
Session.Abandon
%>

För mina ifsatser kollar helt enkelt om Session("UserId") innehåller någon information eller inte, gör den inte det så visar den en sak men gör den det så visar den en annan.

Men genom att sätta Session("UserId") till inget så får man ju rätt status, men tycker det är en relativt primitiv lösning?

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

Medlem sedan dec. 19996 721 inlägg
#5

Skapa en liten subrutin i t.ex. top.inc som rensar upp Session-variablen.

sub forceAbandon()
	for each mObjName in session.contents
		session(mObjName)=empty
	next
	session.abandon
end sub

och kör forceAbandon i stället för session.abandon. Det borde funka.

------------------
----------------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Norrköping

Medlem sedan okt. 200120 inlägg
#6

Hmm... rätt mig om jag har fel Men ska man inte deklarea vilken
Session man vill avsluta annars anvslutas alla ??

Så här

<% Session.Contents.Remove("oID")%>
Medlem sedan dec. 200012 464 inlägg
#7

?

session("oID")=empty

blir i praktiken samma som

Session.Contents.Remove("oID")

------------------
essentitia preter non sans multiplicandum

276 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)