[mededeling] who is online?
Ik heb links onder bij de trackers, een 'wie is online' dingetje gemaakt.. Deze kijkt wie er online zijn.. Je ziet de members hun namen en je ziet hoeveel gewone bezoekers er online zijn..
Misschien was het je nog niet opgevallen, maar hij is er! Hoop dat het wat toevoegt aan de site :)
Edit:
dit topic door Bas Kreleger, zit bij Peter de super no0b en daar was ik nog ingelogd :)
dit topic door Bas Kreleger, zit bij Peter de super no0b en daar was ik nog ingelogd :)
Gewijzigd op 30/09/2004 18:58:00 door P.v.Denzel
Goed werk Bas !!!!
Tis wel grappig, maar meer ook niet ...
Want als je dat via een database doet, werkt het vaak niet, en bij sessions weet ik het niet (als je naar een andere site gaat blijft de session bestaan toch?).
Er zijn 8 gasten en 5 leden actief.
Actieve leden: Jorik, greedyxl, Mitch, erik luyten, Kasper
Edit:
Ja in de scripts steekt al eentje om te zien hoeveel bezoekers er online zijn, maar begrijp dat script niet zo denderend goed... :/
Ja in de scripts steekt al eentje om te zien hoeveel bezoekers er online zijn, maar begrijp dat script niet zo denderend goed... :/
Gewijzigd op 30/09/2004 22:09:00 door Alfred -
had het al opgemerkt, wel chill :)
Gewo0n toevoegen aan de DB en activiteit checken door een script dat bij elke request load :)
Actieve leden: mary
Leuk. I own the place now ;-)
Er is 1 lid en 21 gasten actief.
Actieve leden: greedyxl
Quote:
Tis vrij simpel ho0r Rafeal.
Gewo0n toevoegen aan de DB en activiteit checken door een script dat bij elke request load :)
Gewo0n toevoegen aan de DB en activiteit checken door een script dat bij elke request load :)
Ik heb dit al eens geprobeerd, maar komt op het volgende probleem...
Even uitleggen:
- Ze loggen in, hun naam komt in mijn db... (INSERT INTO)
- Op elke pagina, komt een update in de db, de tijd wordt aangepast bij hun naam... (UPDATE)
Maar als ze nu bvb 5 minuten (mijn tijdslimiet voor ze gewist worden) op dezelfde pagina zitten, en ze vernieuwen of dergelijk, is er enkel de update where nickname=<hunnickname> ... Maar er is zo geen record meer, want dat is al deleted dan...
Met gevolg dat ze niet meer in m'n lijstje komen...
'k hoop dat ik dit een beetje goed heb uitgelegd ... :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
function ip() {
// functie voor bepalen ip, nu eigenlijk niet belangrijk
}
define('IP', ip());
function users_online($minutes = 5) {
mysql_query("DELETE FROM online WHERE ip = '".IP."' OR timestamp < (NOW() - 60 * ".$minutes.")");
mysql_query("INSERT INTO online VALUES (NULL, '".IP."', NOW())");
$result = mysql_query("SELECT COUNT(DISTINCT ip) AS users FROM online");
$row = mysql_fetch_object($result);
return $row->users;
}
?>
function ip() {
// functie voor bepalen ip, nu eigenlijk niet belangrijk
}
define('IP', ip());
function users_online($minutes = 5) {
mysql_query("DELETE FROM online WHERE ip = '".IP."' OR timestamp < (NOW() - 60 * ".$minutes.")");
mysql_query("INSERT INTO online VALUES (NULL, '".IP."', NOW())");
$result = mysql_query("SELECT COUNT(DISTINCT ip) AS users FROM online");
$row = mysql_fetch_object($result);
return $row->users;
}
?>
Met deze tabel:
CREATE TABLE `online` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(15) NOT NULL default '',
`timestamp` timestamp(14) NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;
Deze werkt dus op IP adres, niet echt betrouwbaar maar goed..
Is redelijk eenvoudig aan te passen lijkt me :)
Gewijzigd op 01/10/2004 16:51:00 door dutchcamel
maw, ipv een update gebruik je delete & een nieuwe input? Dat is een oplossing, maar zwaarder bij mijn weten... of niet?
Ja dat wel, je zou ook met SELECT en mysql_num_rows() kunnen controleren of de rij nog bestaat en zo ja een UPDATE doen en anders een INSERT. Maar dat vind ik weer zo omslachtig, zo'n drukbezochte sites heb ik toch niet :P
Select -> bestaat niet -> input --> 2 queries
Select -> bestaat -> update --> 2 queries
Delete -> insert --> 2 queries
Dus is het zelfde?
Anders probeer je er iets uit te halen wat dan weer gecontroleerd moet worden, en dan wordt er iets aangepast of ingevoerd.
Bij de delete/insert-oplossing hoeft PHP geen extra 'rekenwerk' te doen. Bij de select/controle/update_insert-oplossing heb je PHP wel nodig.
Of het iets uit maakt...ik zou het niet weten. Kan een keer een scriptje maken en de gemiddelde tijd bij beide maniere berekenen. Maar zal geen wereldschokkende resultaten opleveren :P
Okay :) Thanks voor de hulp :D
Waar is dat online dingetje naartoe?
hijs weer foetsie.. had die queries er niet voor over :) wordt de site weer langzamer van ;)
lol aap, moet je um ook niet toevoegen he? :P
Vond ik net zo'n leuk dingetje! Ik kon er uren naar staren ^^