webForumDet fria alternativet

Session värde försvinner

ASP

12 svar · 363 visningar · startad av Rossifumi

Medlem sedan okt. 20001 558 inlägg
Frågan#1

Hellojsan!!

Jag har en session som skapas på default.asp

<%
SQL = "SELECT * FROM nyheter ORDER BY datum DESC"
Set rs = Databas.Execute(SQL)

IDNummer = rs("id")

Set rs = nothing

	If Request.Cookies("IdNummer") = "" Then
		Session("SenasteNummer") = 0
	Else
		Session("SenasteNummer") = Request.Cookies("IdNummer")
	End If

	Response.Cookies("Senast") = Date
	Response.Cookies("IdNummer") = IDNummer
	Response.Cookies("Senast").Expires = DateAdd("d", 60, Date)
	Response.Cookies("IdNummer").Expires = DateAdd("d", 60, Date)

	Response.Redirect "index.asp"
%>

Den sessionen använder jag sedan för att kolla ifall det finns något nytt på sidan (besökaren ser alltså det).

Men allt funkar bra, ända tills jag öppnar ett popup-fönster, måste ha det till en del bilder, så länge fönstret är öppet så funkar allt, men så fort jag har stängt det så försvinner sessionen och alla nyheter blir "nya".

Någon som har något förslag hur jag får sessionen att "leva" längre?

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan okt. 20001 558 inlägg
#2

Löste det själv med att använda "application" men faktum kvarstår - varför dör sessionen

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan dec. 20003 563 inlägg
#3

session finns som standard i IIS i 20 minuter. Om man vill ha den längre så skriver man bara session.Timeout = 200 t.ex

------------------
MVH // Cyprys

Medlem sedan okt. 20001 558 inlägg
#4

Det är inte tiden som är fel...

Sessionen försvinner när jag stänger ner popupfönstret!

Varför?

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan juni 200032 967 inlägg
#5

en lösning är ju att inte använda sessions över huvud taget, utan köra med enbart cookies.

är det något som hindrar att du kör enbart cookies?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan okt. 20001 558 inlägg
#6

Njaa...

Hur sätter man en cookie först när besökaren lämnar sidan?

Jag måste ha värdet ur cookien så länge som besökaren fortfarande kollar på mina sidor.

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan mars 20002 836 inlägg
#7

Hello,

vad händer med Application objectet när du får in 2 st samtidiga besökare?
Application variabeln e den samma för alla besökare, dvs de kommer att få se värden som gäller för den besökare som kom in senast lite enkelt förklarat.

Men, var det inte när besökaren kom till sidan som sessionet sattes?

En session e ju inte mer än en "enkel" cookie enda skillnaden e att man kan "styra" den lite mer med hjälp av global.asa, så nog skulle du kunna använda dig enbart av cookies i det läget.

cya,

------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************

Medlem sedan okt. 20001 558 inlägg
#8

Men hur sätter jag cookien först när besökaren lämnar sidan då?

Jag måste ju ha det "gamla" värdet ur cookien så länge som besökaren är på sidan.

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan mars 20002 836 inlägg
#9

Hello,

varför sätta en cookie när besökaren lämnar sidan?

------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************

Medlem sedan okt. 20001 558 inlägg
#10

Jag har en nyhets sida, där spaltas det upp en massa nyheter...

Varje nyhet har ju ett specifikt id-nummer.

Varje gång man går in på sidan så sparas det senaste(högsta) id-nummret i en cookie.

Det gamla (ur cookien) hämtas innan dess och sparas i en Session.

Sedan jämförs det session värdet (typ 22) med varje nyhets id i min loop

If objRS("id") > Cint(Session("SenasteNummer") Then osv...

'

Därför behöver jag ha det "gamla" cookie värdet så länge folk är inne på sidan...

I Netscape så funkar det med att använda en session, men i IE så när man stänger popupen så dör också sessionen...

Finns det någon annan bra lösning på detta då?

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan juni 200032 967 inlägg
#11

prova att spara den gamla i cookien också.

nyhet = request.cookies("nyhet")
gammal = request.cookies("gammal")

response.cookies("nyhet") = nytt värde
response.cookies("gammal") = nytt annat värde

mvh

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan okt. 20001 558 inlägg
#12

Skall testa det, det låter ju som att det skall funka :)

Tack på förhand alla...

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan okt. 20001 558 inlägg
#13

Självklart funkade det utmärkt :)

Jag och min tröga hjärna (efter nyår :)) fattade ju inte att application gäller för allt osv...

TACK

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)