Zanima me PHP skripta koja omogucuje prikaz koliko
trenutno ima online posetilaca na sajtu ....
Znam da baratam sa PHP-om i MySQL-om (tako da mi ne treba detaljno uputstvo), ali nikako da mi padne na pamet
ideja, kako ovo da uradim ....
svaki user kad bilosta otvori na stranici.. u jednu tabelu se upise username i vreme otvaaranje stranice, i istovremeno brisu svi upisi stariji od recimo 5min.
znaci:
e sad kad "dule" nesto otvori, upise se u tabelu:
dule : [vreme otvaranja stranice ]
i istovremeno brise recimo perica kod kojeg je vreme od otvaranja stranice duze od 5 minuta
... onda prilikom generisanja broja ocistis sve *stare* i izbrojis preostale: to su trenutno *aktivni* registrovani posetioci. goste mozes da pratis na isti nacin preko ip.
Hvala, razmisljao sam i o tome, ali ipak ne dobijam
tacan podatak, vec je u pitanju priblizan, jer
perica, jovica i mikca mogu da budu online i 2 sata, a da
ih brojac ipak ne racuna !!! (teoretski)
Hvala u svakom slucaju, izgleda da je ovo jedini nacin !!! :)
pošto je postavljeno vrijeme za brisanje usera iz baze 600 sekundi. slučaj: ti si otišao nekuda i ostavio stranicu otvorenu, a ne želiš se još odlogirat. postaviš meta tag u index da ti refresha stranicu svakih 550 sekundi tako da ti se vrijeme u bazi osvježi i nemaš više problema. možeš bit logiran 5 sati ako želiš. ja sam to stavio na svoj guestbook.
Code:
<?php
class showUser {
private $db;
public function __construct() {
global $db;
$this->db =& $db;
}
if (isset($_SESSION['login'])) {
$user = $_SESSION['login'];
$query = mysql_query("SELECT * FROM users_online WHERE user = '$user'");
if (mysql_affected_rows() > 0) {
mysql_query("UPDATE users_online SET time = now() WHERE user = '$user'");
}
else {
mysql_query("INSERT INTO users_online (user, time) VALUES('$user',now())");
}
}
mysql_query("DELETE FROM users_online WHERE time < '$now'");
$kod = "SELECT * FROM users_online";
$rs = $this->db->GetAll($kod);
$rs_count = count($rs);
if ($rs_count == 0) {