Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> statystyki - unikalne wejścia
patrykt
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 3.12.2005

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


W statystykach chodzi rozniez o logowanie wszystkich czynnosci userow
Go to the top of the page
+Quote Post
patrykt
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 3.12.2005

Ostrzeżenie: (0%)
-----


ale akurat nie o to mi chodzi w powyższym poście.
Go to the top of the page
+Quote Post
stoprocent
post
Post #4





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

Ostrzeżenie: (0%)
-----


Cytat
zapisywać IP odwiedzającego i kasować je po tygodniu?


Mysle ze sam sobie odpowiedziales na to pytanie.
Go to the top of the page
+Quote Post
macza
post
Post #5





Grupa: Zarejestrowani
Postów: 236
Pomógł: 4
Dołączył: 1.05.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
patrykt
post
Post #6





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 3.12.2005

Ostrzeżenie: (0%)
-----


dzięki za skrypt. chyba jednak oprę to o bazę mysql - lepsza kontrola dat.
Go to the top of the page
+Quote Post
macza
post
Post #7





Grupa: Zarejestrowani
Postów: 236
Pomógł: 4
Dołączył: 1.05.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


jak go przerobisz na mysql to daj kod bede very happy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) bo samemu nie chce mi sie ;D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 13:52