Avatar billede emingos Nybegynder
27. juni 2002 - 21:45 Der er 28 kommentarer og
1 løsning

online liste i database / login / log ud ??

hejsa alle

nu har jeg efter laaaang tid og mange spm her på eksperten :D

fundet ud af at få min online liste til at virke (sådan da)

nu ville jeg bare se om i havde nogle tibs/tricks til hvordan jeg ku gøre det måske lidt bedre

www.emingos.dk/asp her ligger selve listen så det er ik meningen det ska være til den side men min egen..

det er os fint.. hvis man logger ind sætter den online status = 1

og logger man ud sætter den online status = 0

det virker jo ligefrem..
men jeg gør det ved hjælp af en form..

og så ska men trykke enter/log ud

for at gøre det ..

er der en anden måde.. ??

og nej jeg nægter at bruge global.asa .. det virker simpelthen ik :P

mvh. emingos
Avatar billede emingos Nybegynder
27. juni 2002 - 21:47 #1
skå måske lige siges at det eksempel på min side ik virker.. jeg har ik lagt databaserne i den rigtige mappe kun så i kan se hvordan det ser ud og hvad jeg mener
Avatar billede tmceu Praktikant
27. juni 2002 - 22:44 #2
Jeg kan slet ikke åbne din side (den timer ud), så jeg kan ikke se præcist hvad du mener. Men ud fra beskrivelsen er jeg næsten sikker på, at jeg ved hvad du mener :-)

Du har faktisk udelukket den eneste reelle alternative løsning der er; Session_OnEnd i global.asa. Du har ret i, at der er nogle problemer med at anvende dette, specielt hvis du anvender Access og endnu mere hvis din side kører på IIS4 (NT4).

Kører du derimod med eks. MySQL el. SQL Server på IIS5, er det en helt anden historie. Jeg har endnu aldrig oplevet problemer med funktionerne i global.asa på denne platform.
Avatar billede oasen Nybegynder
27. juni 2002 - 22:51 #3
Du har jo bare et problem, hvis brugeren ikke logger ud og bare lukker browseren.
Men hvis du ikke vil bruge global.asa, kan du jo nortere dig tidspunktet for brugerens login i DB'en, og så automatisk sætte vedkommendes status til "0" efter fx. 20 min, som en session som standard varer...
Avatar billede oasen Nybegynder
27. juni 2002 - 23:00 #4
Den fremgangsmetode bruger jeg selv, da jeg ikke kunne få (Access) databasen til at opdatere i Session_OnEnd. Formentlig samme problem, du selv har.
Selvfølgelig er det mere elegant at gøre det i din asa-fil, men den anden metode er nu også rimelig pålidelig.
Avatar billede tmceu Praktikant
27. juni 2002 - 23:10 #5
oasen >> den er faktisk mere pålidelig. Den har kun 2 problemer:

1 Den optager server resourcer (ikke aktuelt på mindre sites)

2 Noget skal eksekvere opdateringen server-side. Dette er ofte et problem, da de fleste anvender et webhotel uden adgang til schedulerede jobs på serveren. De fleste implementerer så rutinen i en eller anden ASP side på deres site, men det giver en del overhead, da checket så udføres hver gang denne side vises.
Avatar billede emingos Nybegynder
27. juni 2002 - 23:33 #6
... oasen kom med et godt bud der.. det har jeg selv tænkt på.. men hvordan updater man en kolone i et tabel..

1 = online
0 = offline

det er nemlig mit eneste problem .. hvis folk bare lukker browseren..

tilbage til global.asa nej.. jeg gider ik alle jeres mysql og bla bla.. jeg har prøvet 34000 8889 gange uden held.. tror sku ik min webhost understøtter det..

så derfor laver jeg det i en database..

det er rigtigt min side lige var nede.. den er oppe nu :D
Avatar billede emingos Nybegynder
27. juni 2002 - 23:45 #7
lol.. den er nede igen
Avatar billede emingos Nybegynder
27. juni 2002 - 23:53 #8
nå... min webudbyder roder lidt med min server.. den sku være oppe ...
Avatar billede tmceu Praktikant
27. juni 2002 - 23:57 #9
Du gider ikke med MySQL så du laver det i en database *S* Hvad tror du helt præcist MySQL er ?

Hvilken database anvender du ?

Selve syntaksen for at opdatere en kolonne er:

UPDATE Tabel SET Felt = 0

WHERE delen specielt på dato/tid felter afhænger dog noget af databasen.
Avatar billede emingos Nybegynder
28. juni 2002 - 01:08 #10
nej ... jeg vil gerne bruge mysql .. men det koster extra penge for at få adgang til det på min webhost..
Avatar billede emingos Nybegynder
28. juni 2002 - 01:09 #11
mit spm er nu.. hvordan ka jeg opdate en felt i et tabel .. efter noget tid.. så folk ik står som online hvis de ik lukker deres browser..

jeg er godt klar over hvordan man opdater sit felt.. men ik på tid
Avatar billede oasen Nybegynder
28. juni 2002 - 03:40 #12
Du kan lege lidt videre med dette og tilpasse det dine behov:

XMinAgo = DateAdd("n", -5, Now())

Conn.Execute("Update DinTabel set Status = '0' Where SidsteLogin < '" & XMinAgo & "' And Status = '1'")

Du har formentlig en side, der viser alle brugerne og deres aktuelle status. Det ville som nævnt nok være det mest oplagte blot at indsætte ovenstående der, ved mindre det er en side med flere hundrede samtidige brugere...
Avatar billede oasen Nybegynder
28. juni 2002 - 03:44 #13
Alternativt kan du også lade et lille popup-vindue åbne ved onBlur (når brugeren forlader din side), hvor du kan udføre den nødvendige kode.
Men så har du igen et problem, hvis brugeren har deaktiveret JavaScript...
Avatar billede oasen Nybegynder
28. juni 2002 - 03:45 #14
onUnLoad - hedder det vist...
Avatar billede emingos Nybegynder
28. juni 2002 - 15:07 #15
nice lige det jeg ledte efter thx gutter :)
Avatar billede emingos Nybegynder
28. juni 2002 - 15:08 #16
måske lige lave det til et svar:)
Avatar billede emingos Nybegynder
28. juni 2002 - 15:21 #17
Where SidsteLogin  <- et tabel .. ??... den er users > id,status osv ska jeg så lave en til kolone til sisdtelogin ??
Avatar billede oasen Nybegynder
28. juni 2002 - 20:19 #18
Du skal oprette en kolonne i din DB, hvor du norterer tidspunktet for brugerens login. Noget alá:

Conn.Execute("Update DinTabel set SidsteLogin = '" & Time & "' Where Brugernavn = '" & Session("User") & "'")
Avatar billede oasen Nybegynder
28. juni 2002 - 20:22 #19
Du kan enten vælge at sætte denne kode på siden, hvor brugeren logger ind eller indsætte den vha. SSI på hver eneste side. Sidstnævnte er klart det mest præcise, men også det, der belaster serveren mest, da den skal lave en opdatering hver gang en bruger, anmoder om en side.
Avatar billede emingos Nybegynder
28. juni 2002 - 23:35 #20
http://www.emingos.dk/asp/show.asp?mode=show&userid=8 ..

eller http://www.emingos.dk/asp/users.asp ... jeg har lavet tabel med tid og adder time når en bruger logger ind.. sat koden ind i min users.asp med status osv.. men jeg synes ik den opdater dem .. selvom den ik laver fejl
Avatar billede oasen Nybegynder
29. juni 2002 - 04:24 #21
Hvordan ser datoen ud, som du registerer?
Gemmer du den i et dato-felt?
Avatar billede oasen Nybegynder
29. juni 2002 - 04:28 #22
Nå, du gemmer den i amerikansk tidsformat kan jeg se.
Har du husket at lave kolonnen til typen dato?
Ellers kan den ikke sammenligne værdierne og opdaterer derfor ikke.
Avatar billede emingos Nybegynder
29. juni 2002 - 06:48 #23
<input type="hidden" name="tid" value="<% response.write time %>">

.. ska jeg lave kolonen til dato.. ok kigger lige på det
Avatar billede oasen Nybegynder
30. juni 2002 - 06:04 #24
Ja, du skal lave kolonnen til dato-type.
Men du kan også vælge at lægge datoen ind i et tekstfelt på formen: 20020630060525 = 30/06-2002 kl. 06:05:25
Avatar billede emingos Nybegynder
30. juni 2002 - 17:56 #25
oki nu snakker du sort
Avatar billede emingos Nybegynder
30. juni 2002 - 17:56 #26
20020630060525 = 30/06-2002 kl. 06:05:25 ???
Avatar billede oasen Nybegynder
01. juli 2002 - 15:50 #27
2002 06 30 06 05 25 = År, Måned, Dag, Time, Minut, Sekund

Men det var bare et alternativ, hvis du ikke kunne få din "dato-kolonne" til at fungere. Skriver du datoen på den form, kan du også lægge den ind i et tekst/nummer-felt, så der stadig kan sorteres korrekt.
Avatar billede emingos Nybegynder
01. juli 2002 - 21:44 #28
ohhh :) nu jeg med... well mange mange tak.. det har hjulpet mig en del.
Avatar billede oasen Nybegynder
05. juli 2002 - 02:18 #29
Håber du finder ud af det :))
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