Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak połączyc 2 skrypty by działały?
Forum PHP.pl > Forum > Przedszkole
Volume
Mój problem jak zwykle zapewne jest dość lameski... Mam 2 skrypty jeden wyświetla ilość wszystkich odwiedzin (odsłon) strony a drugi wyśwetla ilość odwiedzin unikalnych (czyli kazdy ip jestw ywswietlany raz poczym zosatje zbanowany) i oddzielnie wszysto ładnie działa ale gdy wrzuce ja na jedna stronę to zaczyna się jakis konflikt... Przypuszczam, że wtedy parser poprostu sie gubi bo są zastosowane podobne funkcje i zmienne - ale jak zmienniam nazyw zmiennych to skrypt w ogiole przestaje działać a nie kumams ie w tym jeszcze do tego stopnia aby jakos to ze sobą logicznie połączyć.. Dlatego może ktoś z was będziei wiedział dlaczego się tak dzieje i jak ewentualnie można by to poprawić..

Licznik odwiedzin unikalnych:
  1. <?php
  2. function banIP($ip)
  3. {
  4.   if(file_exists(&#092;"banned_ip.txt\")){
  5.          $fd = fopen(&#092;"ban-ip-licznik.txt\", \"r+\");
  6.   }
  7.   else{
  8.          $fd = fopen(&#092;"ban-ip-licznik.txt\", \"a+\");
  9.   }
  10.   if(!$fd) return false;
  11.   while (!feof ($fd)) {
  12.          $line = trim(fgets($fd));
  13.          if($line == $ip){
  14.                 fclose($fd);
  15.                 return true;
  16.          }
  17.   }
  18.   fseek($fd, filesize(&#092;"ban-ip-licznik.txt\"));
  19.   fputs($fd, $ip.&#092;"rn\");
  20.   fclose($fd);
  21.   return false;
  22. }
  23.  
  24. $fp = fopen(&#092;"licznik-ip.txt\", \"r+\");
  25.   $count = fgets($fp);
  26.  
  27. if(!banIP($_SERVER['REMOTE_ADDR'])){
  28.   $count = $count + 1;
  29.   fseek($fp, 0);
  30.   fputs($fp, $count);
  31. }
  32. fclose($fp);
  33. ?>


Licznik wszystkich odwiedzin z mozliwoscia banowania wybranych ip:
  1. <?php 
  2. function banIP($ip)
  3. {
  4.   $ip_table = array(
  5.   0 => &#092;"312.160.188.196\",
  6.   );
  7.   foreach($ip_table as $bannedIP){
  8.          if($bannedIP == $ip) return true;
  9.   }
  10.   return false;
  11. }
  12. $fp = fopen(&#092;"licznik.txt\", \"r+\");
  13. $count = fgets($fp);
  14.  
  15. if(!banIP($_SERVER['REMOTE_ADDR'])){
  16. $count = $count + 1;
  17. fseek($fp, 0);
  18. fputs($fp, $count);
  19. }
  20. fclose($fp);
  21. ?>

Do tego 2 pliki textowe którym nadaje chmod 777 licznik.txt i licznik-ip.txt (dla unikalnych).
Ilosc tych odwiedzin wyswietlam includujac sobie pliki licznik.txt i licznik-ip.txt
\//\\/
shima
O ile dobrze widze, to masz 2 funkcje o takiej samej nazwie, a to nie jest dozwolone.
Volume
No wlasnie tez to zauwazylem - a czy sie da jakos zmienic/zastapi nazwe funkcji albo zrobic cos aby zaczela dzialac?
shima
zmień nazwę jednej z funkcji
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.