Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik on-line
Forum PHP.pl > Forum > Przedszkole
Ethel
Witam, mam prośbe, troche myślałem nad tym, wiem że to banalne, wiem że to "było poruszane na forum tysiąc razy" ale przeszukałem pod chasłem licznik online i licznik on-line, i nie znalazłem nic, poza prośbami o gotowe skrypty.

Problem jest taki że niewiem jak sie wziąsć do pracy nad takim skryptem - a więc jak smile.gif
Fipaj
1. Tworzysz plik o nazwie odwiedziny.txt o zawartości 0
2. Skrypt otwiera plik odwiedziny.txt
3. Skrypt dodaje do zawartości pliku odwiedziny.txt 1
4. Wyświetla licznik

Można też zrobić na MySQL.

Taki licznik nie będzie odporny na przeładowania... Ale bardzo łatwo go w ten sposób udoskonalić
Ethel
Wole licznik pod mysql - dodam iż chodzi mi o licznik online, co jak ktoś wyjdzie ze strony, to wtedy jego "wpis" czyli wartość licznika +1 zostanie ... to jest poprostu kod na licznik całościowy, a ja chce tylko liczbe osób które siedzą aktualnie na stronie
aleksander
tabela w mysql
id, ip, starttime, lastrefreshtime

kiedy nowy user wejdzie robisz INSERT gdy refresh to tylko update lastrefreshtime. przy kazdym odpaleniu robisz
DELETE FROM tabela WHERE lasfrefreshtime < time()-300 // 5 minut
dzieki temu jak kogos nie bylo od 5 minut zostaje skasowany:)

jezeli masz logowanie to mozesz latwo pokazywac kto dokl;adnie jest online a nawet gdzie jest w tym momencie:]

pozdr
Ethel
ok, będe miał powiedzmy 5 online więc i 5 rekordów w tabeli, a jak teraz z tego wyczarować liczbe 5 ?


Acha i jeśli można prosić to napiszcie mi w jaki sposób sie pozbyć przy liczniku ogólnym dodawania "1" do tabelki, w przypadku przeładowań.
Lars
Cytat(Wyszukiwarka)
licznik on-line 
pomoc w php php Początkujący Hpsi+ 8 157 2005-04-25 17:03:14
napisał Spirit86


hwao
Ja na plikach zrobilem kiedys cos takiego bardzo dawno temuuu
http://amnesty.scene.pl/~szacool/hwao/php/Free/On-line/
moze Ci sie przyda - przeanalizuj
co do Twojego problemu to wg mnie tam jest okropnie duzo zapytanc do sql
Proponowal bym przeanalizowac kod i go ciut poprawic

lenistwo biggrin.gif

Cytat
ok, będe miał powiedzmy 5 online więc i 5 rekordów w tabeli, a jak teraz z tego wyczarować liczbe 5 ?


  1. <?php
  2. $rows=mysql_num_rows($query);
  3. ?>
Ethel
Niestety jestem głupi i nie rozumiem zbyt wiele z tego skryptu co mi podaleś - nie znam sie aż tak dobrze :/

mysql_num_rows($query) - to zwraca ilość rekordów wybranych przez argument $query ?
Zajec
Cytat(Ethel @ 2005-11-18 23:21:00)
Niestety jestem głupi i nie rozumiem zbyt wiele z tego skryptu co mi podaleś - nie znam sie aż tak dobrze :/

mysql_num_rows($query) - to zwraca ilość rekordów wybranych przez argument $query ?

Miło, że się przyznajesz. Spróbuj tak "drastycznie" zwiększyć swój poziom wiedzy zapamiętując adres:

php.net

Pozwolę sobie założyż, że wymyślisz do czego służy pole "Search for"

http://pl.php.net/manual/pl/function.mysql-num-rows.php
Diablos
Moj skrypt, pisany na szybko wiec nie jest w calosci taki jaki powinien byc.

Utworz plik sesje.txt nadaj mu chmod 666

  1. <?php
  2. // ile userow na stronie
  3.  
  4. $arr = file('sesje.txt');
  5. $i = 0;
  6. foreach ( $arr as $line )
  7.  { 
  8.  
  9.  $piece = explode('|*|',$line);
  10.  $time = time() - $piece[1];
  11.  $time = $time/60;
  12.  if ( $time >= 3 )
  13.  {
  14.  $arr[$i] = "";
  15.  $arr = implode("",$arr);
  16.  $fp1 = fopen('sesje.txt' , "w");
  17.  flock($fp1,2);
  18.  fputs( $fp1 , $arr);
  19.  flock($fp1,3);
  20.  fclose($fp1); 
  21.  
  22.  }
  23. else 
  24.  {
  25.  $i++;  
  26. } 
  27. }
  28.  
  29.  
  30. $fp = fopen('sesje.txt','a+');
  31.  
  32. if ( $_SESSION['sesja'] == 0 )
  33. {
  34.  $string = getenv('REMOTE_ADDR') . '|*|' . time() . "rn";
  35.  fwrite($fp,$string);
  36.  $_SESSION['sesja'] = 1;
  37.  echo 'Sesja ma ID:' . session_id();
  38. } 
  39. else
  40. {
  41.  $_SESSION['sesja'] = 1;
  42.  echo 'Sesja ma ID:' . session_id();
  43. }
  44.  
  45. echo '<br><br>' . count($arr);
  46.  
  47. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.