Miten voisi tehdä sellasen loginin, että olisi MySQL-tietokannassa tieto onko online/offline ja ip, että voisi pitää kirjaa käyttäjistä, mutta sitten se toimisi konekohtaisesti, eikä ipkohtaisesti. Cookieta oon kokeillu, mutse ei jää pysyvästi..
Konekohtainan ainoa ratkaisu on keksit (cookie)
Sitten on sessiot, mutta se kuolee defaulttina 24min kuluessa ja on serveripuolelta vaan.
Tietoturvaa ei tuollaisessa ole paljon paskaakaan, jos siis se tunnistaisi tietyn koneen ja päästäisi sen sisään automaattisesti ilman salasanaa.
En tarkoita sitä, vaan että pidettäisiin IP:n mukaan käyttäjä sisällä. Mutta miten keksit saa pysymään selaimen sulkemisen jälkeen?
Vai onko niiden tuhoutuminen selainkohtaista?
Siis keksit pysyy niin kauan kun ne on määritelty pysymään. Toinen asia taas on että salliiko asiakas (sivun käyttäjä) keksejä tai/ja jos sallii, poisteleeko hän niitä oman tahdon mukaan.
www.php.net/sessions tutustu sessioneihin, ne on kivoja ;)
setcookie("seppo", "keijo", time()+31536000, "/");Asettaa "seppo" nimisen keksin arvoksi "keijo" ja keksi tuhoutuu vuoden päästä.
print $_COOKIE['seppo']; // keijo
Tuolla tavalla tulostat kyseisen keksin.
Jos keksit ei kuitenkaan pysy vaikka pitäisi, niin tutustu tekemääni funktioon: https://www.ohjelmointiputka.net/koodit_nayta.
Itse toteutan siten että käytän sessioneja, ja jokaisella sivulatauksella lisään / päivitän tauluun sessio-id:n sekä latausajan. Ulos saan paikallaolijat seuraavanlaisella kyselyllä:
SELECT id FROM taulu WHERE DATE_SUB(NOW(), INTERVAL 5 MINUTE) < aika
ja saan tietoon kaikki jotka ovat ladanneet jonkin sivuston viimeisen viiden minuutin aikana.
Aihe on jo aika vanha, joten et voi enää vastata siihen.