Witam otóż mam problem z licznikiem online, wypróbowałem już trochę gotowców trochę przerabiałem lecz i tak bez skutku, lecz przy co którymś liczniku historia się powtarza i tak samo dziś skrypt licznika dał mi wynik:
Kod
Online:\n"; $jest=1; } } if ($jest<>1) $bazaip[]="`$ip`$teraz`\n"; $f = fopen("ip.txt","w");flock($f,2); for ($i=0;$i<$ile+1;$i++) { if ($bazaip[$i]<>"") { fwrite($f, $bazaip[$i]); $ileip++; } } flock($f,3); fclose($f); echo $ileip; ?>

Tak więc kod licznika:
  1. Online:<?
  2. $minut = 20;
  3. $teraz = time()+60*$minut;
  4. $bazaip = file("ip.txt");
  5. $ile = count($bazaip);
  6. $ip = $_SERVER["REMOTE_ADDR"];
  7.  
  8. for ($i=0;$i<$ile;$i++) {
  9. $pol = explode("`",$bazaip[$i]);
  10. if ($pol[2]<time()) {$bazaip[$i]="";}
  11. if ($pol[1]==$ip) {
  12. $bazaip[$i]="`$ip`$teraz`<br>\n"; $jest=1;
  13. }
  14. }
  15.  
  16. if ($jest<>1) $bazaip[]="`$ip`$teraz`\n";
  17. $f = fopen("ip.txt","w");flock($f,2);
  18. for ($i=0;$i<$ile+1;$i++) {
  19. if ($bazaip[$i]<>"") { fwrite($f, $bazaip[$i]); $ileip++; }
  20. }
  21. flock($f,3); fclose($f);
  22.  
  23. echo $ileip;
  24. ?>


Strona: klik.

Będę wdzięczny za pomoc wink.gif.

Otóż poprawiłem licznik na coś takiego:
  1. function licznik_online_na_stronie()
  2. {
  3. $minut = 20;
  4. $jest = 0;
  5. $ileip = 0;
  6. $teraz = date("Y-m-d H:i:s");
  7. $bazaip = file("silnik/ip_osob_online.txt");
  8. $ile = count($bazaip);
  9. $ip = $_SERVER["REMOTE_ADDR"];
  10.  
  11. for ($i=0;$i<$ile;$i++)
  12. {
  13. $pol = explode("`",$bazaip[$i]);
  14. if ($pol[2]<time()) {$bazaip[$i]="";}
  15. if ($pol[1]==$ip)
  16. {
  17. $bazaip[$i]="`$ip`$teraz`<br>"; $jest=1;
  18. }
  19. }
  20.  
  21. if ($jest<>1) $bazaip[]="`$ip`$teraz`\n";
  22. $f = fopen("silnik/ip_osob_online.txt","w");flock($f,2);
  23. for ($i=0;$i<$ile+1;$i++)
  24. {
  25. if ($bazaip[$i]<>'') { fwrite($f, $bazaip[$i]); $ileip++; }
  26. }
  27. flock($f,3); fclose($f);
  28. echo 'Osób online na stronie: <font color="yellow">'.$ileip.'</font>.';
  29. }


Licznik działa poprawnie lecz wyświetlany jest notice:
Kod
Notice: Undefined offset: 1 in /usr/local/www/apache22/data/silnik/funkcje.php on line 115


Problem rozwiązany issetem.