hlmod.hu
https://hlmod.hu/

Látogató számláló
https://hlmod.hu/viewtopic.php?f=114&t=24658
Oldal: 1 / 2

Szerző:  theglorious [ 2016.04.20. 09:13 ]
Hozzászólás témája:  Látogató számláló

Sziasztok, találtam neten számlálókat, de vagy nem volt jó vagy jó volt csak épp a töltéseket számolta és hát annak értelme nincs. Tehát aki tud egy normális scriptet küldeni azt köszönném :)

Szerző:  demon [ 2016.04.20. 19:54 ]
Hozzászólás témája:  Re: Látogató számláló

Én régen így csináltam:
  1. <?php
  2.     $host = "localhost"; // MYSQL Host
  3.     $user = "root"; // MYSQL Felhasználó
  4.     $pw = "password"; // MYSQL Jelszó
  5.  
  6.     $db = "db"; // Adatbázis neve
  7.  
  8.     $connect = mysql_connect($chost,$cuser,$cpw)or die("Nem lehet csatlakozni az adabazishoz!");
  9.     mysql_select_db($cdb, $connect) or die("Hibás adatbázis név.");
  10.  
  11.     $guest_timeout = time() - 5 * 60; // jelenlegi idő + 5 perc
  12.     $guest_ip = $_SERVER['REMOTE_ADDR'];
  13.     $time = time();
  14.    
  15.     mysql_query("REPLACE INTO `active_guests` (guest_ip, time_visited) VALUE ('".$guest_ip."','".$time."')");
  16.     mysql_query("DELETE FROM `active_guests` WHERE time_visited < ".$guest_timeout);
  17.     $online_guests = mysql_num_rows(mysql_query("SELECT guest_ip FROM active_guests"));
  18.    
  19.     echo "Latogatok szama: ".$online_guests;
  20. ?>

Tábla:
CREATE TABLE IF NOT EXISTS `active_guests` (`guest_ip` varchar(32) NOT NULL, `time_visited` int(20) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Lényegében azt csinálja, hogy az oldal betöltésekor frissíti a látogató látogatási idejét (time_visited) IP cím alapján, ami a jelenlegi idő + 5 perc, és aki már 5 perce nem frissítette az oldalt azt törli az adatbázisból.

Szerző:  mforce [ 2016.04.20. 19:56 ]
Hozzászólás témája:  Re: Látogató számláló

Szerintem ő össz látogatóra gondol, csak IP-re. :D

Szerző:  demon [ 2016.04.20. 20:01 ]
Hozzászólás témája:  Re: Látogató számláló

Ez pont azt csinálja. Egy adatbázisban tárolja a látogatókat, IP cím alapján azonosítva.
Ez a lekérdezés pedig visszaadja a táblában lévő sorok számát. Így megkapja, hogy hány látogató van jelenleg az oldalon.
mysql_num_rows(mysql_query("SELECT guest_ip FROM active_guests"));

Szerző:  mforce [ 2016.04.20. 20:16 ]
Hozzászólás témája:  Re: Látogató számláló

mondom össz

Szerző:  theglorious [ 2016.04.20. 20:43 ]
Hozzászólás témája:  Re: Látogató számláló

demon írta:
Ez pont azt csinálja. Egy adatbázisban tárolja a látogatókat, IP cím alapján azonosítva.
Ez a lekérdezés pedig visszaadja a táblában lévő sorok számát. Így megkapja, hogy hány látogató van jelenleg az oldalon.
mysql_num_rows(mysql_query("SELECT guest_ip FROM active_guests"));

Jól mondja mforce, az összes látogatóra lennék kíváncsi, nem az éppen aktívra.

Szerző:  mforce [ 2016.04.20. 20:53 ]
Hozzászólás témája:  Re: Látogató számláló

ilyesmi
  1. <?php
  2.     $host = "localhost"; // MYSQL Host
  3.     $user = "root"; // MYSQL Felhasználó
  4.     $pw = "password"; // MYSQL Jelszó
  5.  
  6.     $db = "db"; // Adatbázis neve
  7.  
  8.     $connect = mysql_connect($host,$user,$pw)or die("Nem lehet csatlakozni az adabazishoz!");
  9.     mysql_select_db($db, $connect) or die("Hibás adatbázis név.");
  10.  
  11.     $guest_ip = $_SERVER['REMOTE_ADDR'];
  12.    
  13.     mysql_query("INSERT INTO `guests` (guest_ip) VALUE ('".$guest_ip."')");
  14.     $online_guests = mysql_num_rows(mysql_query("SELECT guest_ip FROM guests"));
  15.    
  16.     echo "Latogatok szama: ".$online_guests;
  17. ?>

Szerző:  CrB [ 2016.04.20. 20:57 ]
Hozzászólás témája:  Re: Látogató számláló

Ezzel csak az a baj h ha én 1 ip ről 500x belépek az 500 különböző látogató ezért: http://www.w3schools.com/sql/sql_func_count.asp (SQL COUNT(DISTINCT column_name) Example)

Szerző:  mforce [ 2016.04.20. 21:09 ]
Hozzászólás témája:  Re: Látogató számláló

Jogos, arra már nem gondoltam xD

Szerző:  demon [ 2016.04.20. 21:26 ]
Hozzászólás témája:  Re: Látogató számláló

Bocsánat, nem értettem pontosan, hogy mit szeretne.
Tessék, ez már az amit kértél.
  1. <?php
  2.     $chost = "localhost"; // MYSQL Host
  3.     $cuser = "root"; // MYSQL Felhasználó
  4.     $cpw = "password"; // MYSQL Jelszó
  5.  
  6.     $cdb = "db"; // Adatbázis neve
  7.  
  8.     $connect = mysql_connect($chost,$cuser,$cpw)or die("Nem lehet csatlakozni az adabazishoz!");
  9.     mysql_select_db($cdb, $connect) or die("Hibás adatbázis név.");
  10.  
  11.     $guest_ip = $_SERVER['REMOTE_ADDR'];
  12.    
  13.     $row = mysql_fetch_assoc(mysql_query("SELECT COUNT(guest_ip) AS count FROM guests WHERE guest_ip = '".$guest_ip."'"));
  14.    
  15.     if($row['count'] == 0)
  16.         mysql_query("INSERT INTO `guests` (guest_ip) VALUE ('".$guest_ip."')");
  17.     $guests = mysql_num_rows(mysql_query("SELECT guest_ip FROM guests"));
  18.    
  19.     echo "Latogatok szama: ".$guests;
  20. ?>

Tábla:
CREATE TABLE IF NOT EXISTS `guests` (`guest_ip` varchar(32) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/