logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

licznik odwiedzin w htmlu

marcinus128 30 Cze 2005 03:06 6157 16
REKLAMA
  • #1 1617518
    marcinus128
    Poziom 19  
    zaczynam zabawe z webmasteringiem i tak jak na google znalazlem sa specjalne skrypty cgi-bin do ktorych sie odwoluje w pliku html, a znajduja sie one na innym serverze, lecz nie moglem tego skonfigurowac aby to dzialalo, mogl by ktos cos wiecej o tym napisac, podac jakis serwer ktory udostepnia to, lub jak napisac lub sciagnac cos takiego w php lub czymkolwiek innym

    sorki za lamerskie pytanie
    pozdrawiam
  • REKLAMA
  • #2 1617792
    321Kami
    Poziom 23  
    a proszę uprzejmie :D Mojego autorstwa skrypcik :D

    <?php
    $plik=fopen("licznik.txt", "r");
    $licznik=fgets($plik);
    fclose($plik);
    $licznik++;
    $plik=fopen("dane/licznik.txt", "w");
    fwrite($plik, $licznik);
    fclose($plik);
    echo "$licznik";
    ?>

    Tylko musisz stworzyć na początku pusty plik licznik.txt w katalogu głównym strony. I wszystko będzie działać :D
  • REKLAMA
  • #3 1617992
    air_szyna
    Poziom 13  
    I musisz na ten pliczek ustawić odpowiednie uprawnienia (777)
  • #4 1618528
    321Kami
    Poziom 23  
    A tak oczywiście uprawnienia jak najbardziej :) jak jeszcze coś bardziej wyjaśnić, np. jak to działa to zapraszam na GG

    Pozdro
  • REKLAMA
  • #5 1618824
    chlo
    Poziom 17  
    A co tu wyjaśniać. Proste jak świński ogon <lol>
    A tak na poważnie to strasznie prosty ten licznik,ale zrobi swoje.
  • REKLAMA
  • Pomocny post
    #6 1618936
    321Kami
    Poziom 23  
    Licznik jest banalny, i to jest piękne :D chociaż teraz zrobiłem bardziej zaawansowany, żeby jak ktoś kliknie odświerz to nie wbijał odwiedzin znowu, bo to bez sensu było, problem w tym że jak ktoś zaczyna zabawę w php to najprostsze rzeczy są trudne :D wiem to z własnego doświadczenia. A jak już się złapie o co chodzi to z górki.
  • #7 1622115
    marcinus128
    Poziom 19  
    777 troche nie bardzo chyba ;] , raczej 755 ;]

    wlasnie o takis skrypt mi chodzilo, choc nie pogardzil bym tym, ktory po odwierzeniu nie doklada


    pozdrawiam thx
  • #9 1622670
    321Kami
    Poziom 23  
    Poszukam tego skrypciku dzisiaj ale o przyzwoitej godzinie (czyli gdzieś tak ok 13.00) a teraz idę spać :D

    Pozdro
  • #10 1627115
    air_szyna
    Poziom 13  
    Dobra o te uprawnienia nie bede się kłócił. Gdzieś to wyczytałem przy okazji jakiegoś tutoriala to wkleiłem. Na codzień tego nie używam wolę mysqla.
  • #11 1627540
    321Kami
    Poziom 23  
    Dobra poprawiony skrypcik na zmiennej sesyjniej, dorzuca +1 dopiero po wyłączeniu i włączeniu przeglądarki, tak myślę... :

    <?php
    session_start();
    if (isset($_SESSION['blokada'])){
    $plik=fopen("dane/licznik.txt", "r");
    $licznik=fgets($plik);
    fclose($plik);
    echo "$licznik";
    }
    else {
    $plik=fopen("dane/licznik.txt", "r");
    $licznik=fgets($plik);
    fclose($plik);
    $licznik++;
    $plik=fopen("dane/licznik.txt", "w");
    fwrite($plik, $licznik);
    fclose($plik);
    $_SESSION['blokada']=1;
    echo "$licznik";
    }
    ?>

    A tak a propos jak się negację robi bo chciałbym np if (isset($_SESSION['blokada']))==false, ale tak mi nie chciało działać, ale może coś źle napisałem ??
  • #12 1627823
    chlo
    Poziom 17  
    Negacja jest przez wykrzyknik:
    if(!isset($_SESSION['blokada']))==true;
  • #14 1629302
    chlo
    Poziom 17  
    EEE cosik ten skrypcik mi nie wyświetla tego co bym chciał :(
  • #15 1630284
    air_szyna
    Poziom 13  
    A może tak.
    if(!isset($_SESSION['blokada']))
    {

    }
  • #16 1630337
    chlo
    Poziom 17  
    Cytat:
    A może tak.
    if(!isset($_SESSION['blokada']))
    {

    }


    Słusznie.
    Tyle, że i tak w pliku txt nie dokonywał się żaden wpis. Nawet w prostszej wersji skryptu. Muszę się temu uważniej przyjrzeć.
  • #17 1632441
    SaraniS
    Poziom 26  
    Witam (po raz pierwszy z Linuxa ;) )
    
    function banIP($ip)
    {
        $f_ban = 'etc/ips_banned';
        if(file_exists($f_ban)){
        $fd = fopen ($f_ban, "r+");
        }
        else{
        $fd = fopen ($f_ban, "a+");
        }
        if(!$fd) return false;
        while (!feof($fd)) {
            $line = trim(fgets($fd));
            if($line == $ip){
            fclose($fd);
            return true;
            }
        }
        fseek($fd, filesize($f_ban));
        fputs($fd, $ip."\r\n");
        fclose($fd);
        return false;
    }
    
    function counter(){
        $f_count = 'etc/ips_counter';
        $fp = fopen($f_count, "r+");
        $count = fgets($fp);
        
        if(!banIP($_SERVER['REMOTE_ADDR'])){
            $count = $count + 1;
            fseek($fp, 0);
            fputs($fp, $count);
        }
        else $count = $count + 0;
        
        fclose($fp);
    /*    $count = strval($count);
        $strLength = strlen($count);
        $imgStr = "";
        for($i = 0; $i<$strLength; $i++){
         $temp = 'cyfry/'.$count[$i].'.gif';
         $normal = $count[$i];
         $imgStr .= "<img src=\"".$temp."\" alt=\"".$normal."\">";
        } */
        return($count);
    }
    

    Powyzszy skrypt dobrze jest umiescic w jakims szablonie strony (aby byl wykonywany przy kazdym przeladowaniu); W ciele strony gdzie chcemy numer odwiedzin wywolujemy
    <?php echo counter(); ?>

    Pliki ips_banned oraz ips_counter sluza do przechowywania - jeden adresow IP ktore odwiedzily nasza strone a drugi - ilosci tych odwiedzin. Jak ktos lubi sie bawic to moze w oparciu o to zrobic blokowanie licznika na okreslony czas (w pliku ips_banned dodac czas zapisania i potem przy odczycie sprawdzac czy do czasu biezacego uplynal okreslony interwal) :)
    [EDIT]Teraz zauwazylem, ze jest tu nawet kod (w komentarzu) pozwalajacy na generowanie obrazkow :D Ja tego nie potrzebowalem, ale moze komus sie przyda ;) [/EDIT]
    Pozdrawiam
REKLAMA