webForumDet fria alternativet

Vissa inloggade

ASPur ASP

12 svar · 453 visningar · startad av TwaN

Medlem sedan jan. 200223 inlägg
Frågan#1

Jag vet inte om detta kanske blir för svårt för min lilla hjärn men...
Jag håller på med en "clan sida" där medlemmar ska kunna logga in och ändra lite inställningar m.m.
Och jag undrar då om man på något sätt kan se hur många som är inloggade och vem? Jag gissar att man får använda global.asa men är inte säker.
Om ni kan skriva några exempel skulle jag bli jätte glad!

Medlem sedan maj 200180 inlägg
#2

Hallå!

Det kan ju vara en variant men jag har hört att global.asa inte ska vara så bra att använda.

En annan lösning skulle ju vara att ha en kolumn i databasen där du lagrar om personen är inloggad eller inte, detta skulle ju kräva att de loggade ut genom din utloggningssida för att de inte skulle stå som inloggade längre. Detta går ju att lösa genom att du vid varje inloggning av en ny person kollar vilka tar bort de som varit inloggade en tid som du tycker vore lämplig att sätta och isåfall sätta dem som utloggade. Detta är ju inte världens smartaste lösning, det måste ju finnas mer effektiva.

Har inte kollat detta själv bara något som jag sett användas av andra. Jag hoppas du fattar vad jag menar, jag vet att jag inte är världens bästa person på att förklara saker.
Jag hoppas att jag tolkade din fråga rätt också, har en tendens att tolka fel i bland och börja svamla om helt obegripliga saker.

Medlem sedan juni 20019 519 inlägg
#3

typ.. du kan göra en flik som kanske heter "online" som är JA/NEJ

efter användaren har loggat in sej så bli den true annars false

update users set inloggad=TRUE where ID=" & recset("ID")

typ.. kanske?

Medlem sedan feb. 200112 078 inlägg
#4

voigtann1 > Då måste han se till att sätta värdet till false med när användaren loggar ut/inte är aktiv längre.

Och detta görs genom global.asa.

Hade du bara viljat räkna antalet inloggade och inte visa namnet på alla är en applikationsvariabel bäst.

applikation("inloggade") = applikation("inloggade") + 1
Medlem sedan nov. 20018 492 inlägg
#5

Om du sparar alla användares namn i sessions så kan du skriva ut allas session istället.

Response.Write"Inloggade just nu:<br>"
For Each user in Session("user")
Response.Write & user & "<br>"
Next

/Mika3l

Medlem sedan juni 200032 969 inlägg
#6

Om du sparar alla användares namn i sessions så kan du skriva ut allas session istället.

Nej, det går inte. Sessions är användarspecifika.

Mvh,

Medlem sedan nov. 20018 492 inlägg
#7

@nders: Jag har skrivit ut alla användares sessions förut utan några problem(oif så var ju det för 1½ år sen eller nåt).
Kan man spara användarnamnet i cookies istället eller fungerar inte det heller?

Medlem sedan sep. 20011 722 inlägg
#8

nepp cookies förstörs ju inte när man loggar ut eller är inaktiv.

Medlem sedan juni 200032 969 inlägg
#9

Ursprungligen av Mika3l @nders: Jag har skrivit ut alla användares sessions förut utan några problem(oif så var ju det för 1½ år sen eller nåt).
Kan man spara användarnamnet i cookies istället eller fungerar inte det heller?

Du kan inte komma åt innehållet i andras sessionsvariabler, jag tror du minns fel.

Du kan inte komma åt andras cookies heller, så det är inte ett alternativ för att ta reda på vilka som är inloggade.

Som jag ser det finns två lösningar; antingen använder du en databas som du uppdaterar med användarens status, eller så använder du applicationvariabler.

Mvh,

Medlem sedan nov. 20018 492 inlägg
#10

@nders: Jag minns inte fel, men jag testade dock bara lokalt på två datorer vilket kanske gjorde något som gjorde att fungerade av någon konstig anledning.<br>
Jag kan inte heller förstå varför det egentligen fungerade men det gjorde det iallafall på något konstigt sätt...

Medlem sedan juli 2001434 inlägg
#11

fortsättning på första förslaget

Ni pratade om att sätta en variabel JA/NEJ på inlogade. Det bästa sättet jag vet är att göra så här:

Ha ett fält som heter senastAktiv med ett datum/tid
Vid varje sidanrop så sätt den tiden till "NOW". Sedan kollas ALLAs senastAktiv mot now - tid som man får vara inaktiv och om fältet är innan dess så är personen inte inloggad längre...

Svårare är det väl inte... kanske missat något?

Medlem sedan juli 2001324 inlägg
#12

Du har fel Mikael, det kan inte ha funkat Anders har rätt ang sessioner.

Hur du gjort är svårt att säga men om du skulle kunna skriva ut alla sessioner på det sätt du beskriver så hade det inneburit en väldigt stor säkerhetsrisk. Så om du mot all förmodan lyckats så vore det intressant att veta hur du gjorde detta ?

Medlem sedan aug. 2001226 inlägg
#13

I global.asas application_on_start:
Application("inloggade") = 0

I global.asas session_on_end:
if session("inloggad") = "japp" then
Application("inloggade") = Application("inloggade") -1
end if

o på hemsidan:
när dom loggat in:
<%
if session("inloggad") <> "japp" then
Application("inloggade") = Application("inloggade") + 1
end if
session("inloggad") = "japp"
%>

Borde nog fungera....

269 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
135 ms — hämta forumlista (db)
128 ms — hämta statistik (db)
139 ms — hämta tråd, inlägg och bilagor (db)