Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: statystyki - unikalne wejścia
Forum PHP.pl > Forum > Przedszkole
patrykt
zrobiłem sobie na stronie system statystyk, który zlicza użytkowników, którzy nie mają na sprzęcie cookie po czym cookie to otrzymują, na jakiś tam tydzień. po jednym dniu tych wejść miałem już ponad 600 :/ Zdecydowanie za dużo, strona jest mało popularna. Zastanawiam się jak poprawić te statystyki - zapisywać IP odwiedzającego i kasować je po tygodniu?
SongoQ
W statystykach chodzi rozniez o logowanie wszystkich czynnosci userow
patrykt
ale akurat nie o to mi chodzi w powyższym poście.
stoprocent
Cytat
zapisywać IP odwiedzającego i kasować je po tygodniu?


Mysle ze sam sobie odpowiedziales na to pytanie.
macza
Daje ci tu bardzo dibry skrypt - działa jak należy!
znalazlem go gdzieś w necie:
head:
  1. <?php
  2. function counter ($CFile) {
  3.  $CData = unserialize (file_get_contents ($CFile));
  4.  $CData[0][2]++;
  5.  if (($Num = (floor (time () / 86400)) - floor ($CData[0][0] / 86400)) > 0) $CData[1] = ($Num > 1)?array_fill (0, 2, 0):array ($CData[1][1], 0);
  6.  if (!$CData[3][$_SERVER['REMOTE_ADDR']]) {
  7. $CData[0][1]++;
  8. $CData[1][1]++;
  9. $CData[3][$_SERVER['REMOTE_ADDR']][0] = time ();
  10. }
  11.  $CData[0][0] = $CData[3][$_SERVER['REMOTE_ADDR']][1] = time ();
  12.  foreach ($CData[3] as $IP => $Time) {
  13.  if ((time () - $Time[0]) > 86400) unset ($CData[3][$IP]);
  14.  if ((time () - $Time[1]) < 300) $Online++;
  15.  }
  16.  if ($CData[1][1] > $CData[2][0]) $CData[2] = array ($CData[1][1], time ());
  17.  $File = fopen ($CFile, 'a');
  18.  flock ($File, LOCK_EX);
  19.  fseek ($File, 0);
  20.  ftruncate ($File, 0);
  21.  fwrite ($File, serialize ($CData));
  22.  fflush ($File);
  23.  flock ($File, LOCK_UN);
  24.  fclose ($File);
  25.  return ('
  26. Odslony: '.(int) $CData[0][2].'&nbsp;
  27. Unikalne:  '.(int) $CData[0][1].'&nbsp;
  28. Online:  '.(int) $Online.'&nbsp;
  29. Dzisiaj: '.(int) $CData[1][1].'&nbsp;
  30. Wczoraj: '.(int) $CData[1][0].'&nbsp;
  31. Najwiecej: '.date ('d-m-Y', $CData[2][1]).' ('.(int) $CData[2][0].")&nbsp;".
  32. '<!-- Powered by eCounter -->'."\n");
  33.  }
  34.  
  35. ?>


a tam gdzie chcesz zeby byl wyswietlany to:
  1. <? counter("licznik_m.txt"); ?>
i juz ;D
chcesz wiedziec jak to wyglada wejdz na: www.macza.boo.pl i masz na samym dole
patrykt
dzięki za skrypt. chyba jednak oprę to o bazę mysql - lepsza kontrola dat.
macza
jak go przerobisz na mysql to daj kod bede very happy biggrin.gif bo samemu nie chce mi sie ;D
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.