ugrás a tartalomhoz

Felhasználók nyomon követése.

Anonymous · 2005. Jún. 2. (Cs), 19.25
Sziasztok!


Bejelentkezett és vendég látogatók számát, esetleg tevékenységeit szeretném nyomon követni, inkább statisztikaként kiiratni az oldalamra.
Milyen megoldásal, eljárással, vagy inkább függvénnyel lehet ezt megtenni.
Az Ultraweb ezt nem engedte:

$ph = popen( "who", "r" )

Azt olvastam, ezzel valami hasonlót lehet elkövetni, de nem jött be.


Előre is köszönöm!
üdv.:DaniL
 
1

Felhasználók monitorozása MySQL-lel

Anonymous · 2005. Jún. 2. (Cs), 21.35
Üdv!

Az öteletem az lenne, hogy az oldalon nyitsz egy sessiont, amelyikben eltárolod, hogy mikor jött az aktuális oldalra, melyik oldalon van éppen, és hogy az egész honlapra mikor lépett be. Miután a session ID egyedi lesz "böngészésenként" így meg tudod nézni, hogy mikor lépett be az oldaladra, mennyi idöt töltött egy-egy aloldalon, söt, ha a referert is feljegyzed, azt is tudod, hogy mikor hová ment az oldalon belül. Ha ezt a logot utána kielemezteted, akár minden felhasználót külön elemezni tudsz. A logot célszerü SQL táblában tárolni, de fájlban is tárolhatod. Ha nem engedi a hostod, elhelyezheted a logolót egy másik szerveren is, ahol egy GET hívással átadod neki az adatokat.

ProClub
proclub##kukac##karinthy.hu

ui. nem akartam ide bemásolni a kódot. Ha kell a kódja, dobj egy mailt.
2

lehetseges PHP+MySql

pentium10 · 2005. Jún. 2. (Cs), 21.38
lehetseges PHP+MySql modszerrel.

ez a vendegek szamat listazza...
ha megtoldod egy regisztracios mezovel a mysql tablat es azt valtoztatod 1 vagy 0 kozott be/kijelentkezeskor s megfelelo lekerdezest alkalmazol akkor maris regisztralt tagok szamat lehet megtudni
  1. <?php  
  2. $timeoutseconds = 300;   
  3. $timestamp = time();   
  4. $timeout = $timestamp-$timeoutseconds;   
  5. $insert = @mysql_query("INSERT INTO useronline VALUES  
  6. ('$timestamp','$REMOTE_ADDR','$PHP_SELF')");   
  7. $delete = @mysql_query("DELETE FROM useronline WHERE timestamp<$timeout");   
  8. $result = @mysql_query("SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'");   
  9. $user = mysql_num_rows($result);   
  10. if($user == 1) {   
  11. print("$user user online\n");   
  12. else {   
  13. print("$user users online\n");   
  14. }   
  15. ?>  
  1. CREATE TABLE `useronline` (  
  2.   `timestamp` int(15) NOT NULL default '0',  
  3.   `ip` varchar(40) NOT NULL default '',  
  4.   `FILE` varchar(100) NOT NULL default '',  
  5.   PRIMARY KEY  (`timestamp`),  
  6.   KEY `ip` (`ip`),  
  7.   KEY `FILE` (`FILE`)  
  8. TYPE=MyISAM;  
  9.