Skocz do zawartości
W Naszym sklepie znajdziesz wiele skinów do cs go, konkurencyjne ceny i natychmiastowa wysyłka to Nasza dywiza!
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

SeNioR

Licznik osób Online z wykorzystaniem bazy danych

Promowane odpowiedzi

Witam, w dzisiejszym poradniku dowiemy się, jak zrobić Licznik osób online wykorzystując przy tym Bazę danych.

Dodam że licznik nie jest trudny i nie trzeba posiadać ogromnej wiedzy aby go utworzyć.

1.Pierwszym krokiem jest utworzone zapytania SQL (Najczęściej w phpMyAdmin)

CREATE TABLE `licznik_o` ( 
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`czas` VARCHAR( 50 ) NOT NULL , 
`ip` TEXT NOT NULL 
) ENGINE = MYISAM

2.Następnie tworzymy plik o nazwie cmsstyle.php w treści wpisując

@mysql_connect('tutaj_wpisz_swoj_host','użytkownik_bazy_danych','haslo_bazy_danych')  // połączenie z bazą danych, wpisz swoje dane 
   or die('Nieudane połączenie'); 
@mysql_select_db('nazwa_bazy_danych') // wpisz nazwę bazy danych w której utworzyłeś tabelę cmsstyle 
   or die('Nieudane wybranie bazy'); 
$limit = 60; // tutaj możemy ustawić jak czyły ma być nasz skrypcik. 
$czas_aktualny = time(); // funkcja time pokazuje nam czas aktualny. 
$czas_zliczany = $czas_aktualny - $limit; // liczy róznice pomiędzy czasem aktualnym a limitem. 
$ip = $_SERVER['REMOTE_ADDR']; // adres IP gościa 
$dodaj = mysql_query("INSERT INTO `licznik_o` (id, czas, ip) VALUES (NULL, '$czas_aktualny', '$ip')"); // dodajemy wpis do naszej bazy danych. 
$usun = mysql_query("DELETE FROM `licznik_o` WHERE czas<'$czas_zliczany'"); // usuwa wpis osób których nie ma już na stronie. 
$wyswietl = mysql_query("SELECT DISTINCT `ip` FROM `licznik_o`"); // przypisujemy do $wyswietl zapytanie. 
$osob = mysql_num_rows($wyswietl); // ilość rekordów w bazie, czyli ile mamy osób online. 
echo "Osoby online: ".$osob; // wyświetla osoby online

 

Edytowane przez SeNioR

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Podobna zawartość

    • Przez CzareK
      Tworzymy plik licznik.php wklejamy kod:

      <?php /* plikowi licznik.txt nadaj atrybuty 733 */ $file = "licznik.txt"; // zapisywanie ip do pliku $ipadd = getenv(REMOTE_ADDR); $addip = "TRUE"; $hits = 0; if (file_exists($file)) { } else { echo "$file nie istnieje!"; exit; } $fp = fopen($file,"r"); while (!feof($fp)) { $line = fgets($fp, 4096); //czas $line=trim($line); if ($line != "") { $hits++; } // Jeżeli ip było już zapisane... if ($line==$ipadd) { $addip = "FALSE"; } } fclose($fp); // jeżeli nie ma zapisane ip w pliku... if ($addip == "TRUE") { $fp = fopen($file,"a"); fwrite($fp, " "); fwrite($fp, $ipadd); fclose($fp); $hits++; } // Wyświetlanie ilości odwiedzin unikalnych echo $hits; ?>
      • Następnie tworzymy pusty dokument tekstowy licznik.txt i nadajemy mu CHMOD 733

      Aby wywołać funkcje należy użyć:

      <?php include("licznik.php"); ?>
      • Licznik osób Online:

      <? $plik = "online.txt"; $czas = 200; $t = time(); $ip = $HTTP_SERVER_VARS[REMOTE_ADDR]; $u = explode(" ", str_replace(" ", "", @join("", @file($plik)))); foreach($u as $i => $v) { $e = explode("|", $v); if($e[0] == $ip || $e[1] < $t) unset($u[$i]); } $u[] = $ip . "|" . ($t + $czas); $fp = fopen($plik, "w"); flock($fp, 2); fputs($fp, join(" ", $u)); flock($fp, 3); fclose($fp); echo Online: <strong> .count($u); ?> </strong>
      • Następnie tworzymy pusty dokument tekstowy online.txt i nadajemy mu CHMOD 733
    • Przez adminlobby
      Witam, mam problem odnośnie silnika mybb, od kilku dni przestało naliczać użytkowników zarejestrowanych pokazuje 248 gdy jest ich juz prawie 300. Ktoś wie o co może chodzić? Screenshot by Lightshot
       
      forum: CSLobby Sieć Serwerów Gier MultiPlayer
    • Przez Mateusz.
      Witam,
      zlecę wykonanie licznika który będzie działał od godziny X do godziny Y, każdego dnia wyłączając sobotę i niedzielę oraz restartował się każdego 10 dnia miesiąca. Licznik leci co minutę (lub sekundy).

      Do tego chciałbym aby było obok np. 1 godzina to 10 zł (można ustalać stawkę godzinną), na zasadzie:

      1h 20m = 12.8 zł
       
      Z góry dziękuje za pomoc =)
       
    • Przez bambusek
      Hej, poszukuję pluginu który doda na samym dole " Kto był online przez ostatnie 24h "
  • Ostatnie tematy

×