Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kuka on online - infoboxi PHP:llä

Teuvo Töhvelö [09.08.2005 11:21:03]

#

Mietiskelin tässä helpointa tapaa tehdä semmoinen "kuka on online"- boxi nettisivuille. Boxi ilmoitaisi tähän tyyliin: "Paikalla: 4 jäsentä ja 2 vierasta" Minullahan on siis testimielessä tehtynä mahtava sivusto, jossa tällä hetkellä ei voi tehdä mitään ihmeitä; rekisteröityminen ja kirjautuminen onnistuu.
Tein sitten sillälailla, että MySQL-kantaan tallennetaan käyttäjän online-arvo, joka on yksi sen jälkeen, kun on painanut "kirjaudu"-nappulaa ja hyväksytysti päässyt sisälle. Vastaavasti uloskirjauduttaessa muutetaan käyttäjän online-arvo nollaksi. Kuten arvata saattaa, tämä ei toimi. Tämähän kertoo vain sen, onko käyttäjä kirjautunut sisään. Mitään takeita siitä, että käyttäjä juuri sillä nimenomaisella hetkellä surffailisi sivustolla, ei ole. Jos käyttäjä vain sulkee selaimensa tylysti, online-arvo jää ykköseksi. Nyt pitäisikin keksiä keino, joka olisi luotettavampi ja ottaisi huomioon myös ei-rekisteröityneet paikallaolijat (ns. vieraat).
Kiitoksia asiallisista vastauksista.

ajv [09.08.2005 13:48:41]

#

"Kuka on online"-arvoa on hieman vaikea määritellä. Hyväksi todettu keino on verrata kuinka kauan käyttäjän viimeisestä sivunlatauksesta on kulunut aikaa ja päätellä tästä onko käyttäjä "online". Lainaus omista koodeistani:

#rekisteröityneet käyttäjät online:
SELECT COUNT(*) FROM `users` WHERE last_load > (NOW() - INTERVAL 5 MINUTE)
#tavalliset vieraat online
SELECT COUNT(*) FROM `kavijalaskuri` WHERE last_load > (NOW() - INTERVAL 5 MINUTE)

Tuon pelkkä online-arvosta kertova bitti on tosiaan aika onneton ratakaisu.

Itse pidän online-aikana viittä minuuttia, joka mielestäni on aika jossa kerkeää sivun lukea ja painaa seuraavaa linkkiä. Tuota arvoa rukkaamalla saa sivut tietenkin helposti näyttämään vilkkaamilta kuin todellisuudessa ovat.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta