Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> licznik osob online, zawsze pokazuje wartosc 1 choc jest wiele osob na stronie ????
uczaj21
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 30.06.2007

Ostrzeżenie: (20%)
X----


Prosze o pomoc mam skrypt php pokazujacy ilosc osob na stronie online oraz ilosc osob odwiedzonych strone i nr ip.Problem polega na liczniku osob online na www zawsze pokazuje 1 osobe chodz jest ich wieksza ilosc.Tylko ta opcja zle dziala inne dzialaja prawidlowo
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3.  
  4. function badIP($ip)
  5. {
  6. $end_line = "r\n";
  7. if(file_exists("banned_ip.txt")){
  8.   $fd = fopen("banned_ip.txt", "r+");
  9. }
  10. else{
  11.   $fd = fopen("banned_ip.txt", "a+");
  12. }
  13. if(!$fd) return false;
  14. while (!feof ($fd)) {
  15.   $line = trim(fgets($fd));
  16.   if($line == $ip){
  17.     fclose($fd);
  18.     return true;
  19.   }
  20. }
  21. fseek($fd, filesize("banned_ip.txt"));
  22. fputs($fd, $ip.$end_line);
  23. fclose($fd);
  24. return false;
  25. }
  26.  
  27. function getHits()
  28. {
  29. if(($fp = @fopen("counter.txt", "r+")) === false)
  30.   return false;
  31. $count = fgets($fp);
  32. if(!badIP($_SERVER['REMOTE_ADDR'])){
  33.   $count = $count + 1;
  34.   fseek($fp, 0);
  35.   fputs($fp, $count);
  36. }
  37. fclose($fp);
  38. return $count;
  39. }
  40. $minut = 1;
  41. $teraz = time()+60*$minut;
  42. $bazaip = file("ip.txt");
  43. $ile = count($bazaip);
  44. $ip = $_SERVER["REMOTE_ADDR"];
  45.  
  46. for ($i=0;$i<$ile;$i++) {
  47. $pol = explode("",$bazaip[$i]);
  48. if ($pol[2]<time()) {$bazaip[$i]="";}
  49. if ($pol[1]==$ip) {
  50. $bazaip[$i]="$ip$teraz <br>\n"; $jest=1;
  51. }
  52. }
  53.  
  54. if ($jest<>1) $bazaip[]="$ip $teraz\n";
  55. $f = fopen("ip.txt","w");flock($f,2);
  56. for ($i=0;$i<$ile+1;$i++) {
  57. if ($bazaip[$i]<>"") { fwrite($f, $bazaip[$i]); $ileip++; }
  58. }
  59. flock($f,3); fclose($f);
  60.  
  61. echo '<font size="2"><u>Gosci na naszej stronie online : </u></font>'.'<b><font color="#099FF0">'.$ileip.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></font>';
  62. echo('<font size="2"><u>Ta strona została odwiedzona : </u></font>'.'<font color="#099FF0"><b>'.getHits().'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></font>');
  63. echo '<font size="2"><u>&nbsp;Twoj numer ip : &nbsp;</u></font>'.'<b><font color="#099FF0">'.$ip.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>';
  64. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
uczaj21
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 30.06.2007

Ostrzeżenie: (20%)
X----


Witam ponownie po testowaniu skryptu zauwazylem kolejny mankament tyczacy sie licznika odwiedzin.Zauwazylem iz kiedy wejde na stronke to licznik doda kolejna wartosc lecz tylko raz jak raz zapisze sobie nr ip w pliku banned_ip.txt to juz na zawsze a powinno z tego pliku kasowac sie nr ip po jakims czasie a tu sie nie kasuje i jak juz wejde np na drugi dzien to i tak licznik nie naliczy tego?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 13:00