Strony:

Licznik odwiedzin z zabezpieczeniem cookies

ascomp

No avatar

2007-04-10 11:09

Witam
Zrobiłem licznik odwiedzin zgodnie z zaleceniami , licznik działa lecz każde odświrzenie strony nabija nowy stan powiekszony o jeden.
Jak zrobić aby otwarcie odwidzającego powiekszało tylko i jeden a nie każde odświerzenie strony. Przypuszczam że trzeba do tego zagonic cookie.
Proszę o pomoc.

» Quick.Cart v2.x

treewood (OpenSolution)

Avatar: treewood

2007-04-10 11:19

ascomp - albo zrobic cookie albo zapisac ip danego uzytkownika.

ascomp

No avatar

2007-04-11 21:11

Super dzięki, ale jak. Czy mógłbym liczyć na jakiś przykład.

treewood (OpenSolution)

Avatar: treewood

2007-04-12 08:07

ascomp - ok, wykorzystam funkcje z tematu: http://opensolution.org/Quick.Cart/forum/?p=readTopic&nr=2533 ktora nalezy zmodyfikowac na to:

function counter( ){
  
$sFile 'db/counter.txt';
  
$aFile file$sFile );
  
$sData $aFile[0];
  if( 
strlen$sData ) == ){
    
$sData 0;
  }
  if( !isset( 
$_COOKIE[date'Ymd' )] ) ){    
    
$sData++;
    
$rFile fopen$sFile 'w' );
    
fwrite$rFile$sData );
    
fclose$rFile );
    
setCookiedate'Ymd' ), truetime( ) + 86400 );
  }
  return 
$sData;
// end function counter

dziala?

openzibi

Avatar: openzibi

2007-04-12 09:06

ascomp - działanie licznika możesz sprawdzić na http://malarstwo.rzeszow.pl
Dołożona jest blokada wyświetlania licznika na stronach innych niż główna (O mnie)


----------------------------------------
openzibi - http://www.rhh.pl

dariuszdl

Avatar: dariuszdl

2007-06-01 13:16

Witam
Pozwoliłem sobie wykorzystać licznik.
Jest super.
Działa

dariuszdl

blackhit

No avatar

2007-06-08 14:31

Również dodałem... działa :o)

blackhit

t_zone

Avatar: t_zone

2007-06-14 22:24

witam serdecznie.
licznik działa jak trzeba ale chciałbym przenieść obecny zwłaszcza że wskazuje 24451 odwiedzin !!!
zastosowałem darmowy licznik ale wyświetla mi banery dostawcy których nie chcę.

wasz licznik jest o niebo lepszy.

próbowalem edytować plik counter.txt ale nic to nie dało.

bardzo proszę o pomoc w tej kwestii.

merci

No avatar

2007-06-15 16:00

t_zone - wystarczy edytowac plik db/counter.txt Sprawdzilismy to i dziala.

Akme

Avatar: Akme

2008-06-02 15:55

Witam
zrobiłam tak wkleiłam funkcję którą podał treewood do pliku core/common.php i wstawiłam odwołanie <div id="licznik">$iCounter</div> w pliku templates/container.tpl w katalogu db utworzyłam plik counter.txt i wpisałam do niego "1"
i nic nie zadziałało. Licznik w ogóle nie pojawił się na stronie, a za to pojawiły się błędy.
Jestem początkująca w php, co źle zrobiłam ?

Z góry dzięki za wyrozumiałość :)

treewood (OpenSolution)

Avatar: treewood

2008-06-03 07:45

Akme - czy dalas prawa do zapisu dla counter.txt? Wiesz jest wiele zmiennych i ciezko powiedziec co moglas zrobic zle

smmaya

Avatar: smmaya

2008-06-17 21:54

Hey, cos swietnego!
Treewood, czy jest mozliwosc dodania do tego - licznika osob aktualnie na stronie i max na stronie w jednym momencie?
Dzieki!!!

Maya

styljola

Avatar: styljola

2008-08-13 13:33

Akme w którym dokładnie miejscu pliku container.tpl wkleiłaś div-a

Makaron

Avatar: Makaron

2008-08-13 16:26

Najlepiej gdzieś w okolicach stopki.. tam gdzie zwykle umieszcza się liczniki.. Jest to blok zaczynający się kodem:

<div id="foot">

styljola

Avatar: styljola

2008-08-15 20:37

Wkleiłam z div-em i bez za
<a href="http://www.breezy.cz" class="ico ico-breezy">Breezy New Media</a> $iCounter

I niestety nie wyświetla :(

A w counter zliczają się wizyty.

Fidel

No avatar

2009-11-15 20:28

Witam.
Mam problem z licznikiem. Dodałem do swojej stronki i zdaje się wszystko zrobiłem wg instrukcji.

Pojawił się w wybranym przezemnie miejscu licznik , jednak na górze strony jest błąd

Warning: Cannot modify header information - headers already sent by (output started at /homez.34/.../www/Quick.Cart_v3.4/core/common.php:274) in /homez.34/camelleo/www/Quick.Cart_v3.4/index.php on line 20

czym może to być spowodowane?

Niżej wypisuje to co zrobiłem:
1.Edytowałem plik core/common.php i dodałem kod gdzieś w środku pliku:

function counter( ){
$sFile = 'db/counter.txt';
$aFile = file( $sFile );
$sData = $aFile[0];
if( strlen( $sData ) == 0 ){
$sData = 0;
}
$sData++;
$rFile = fopen( $sFile , 'w' );
fwrite( $rFile, $sData );
fclose( $rFile );
return $sData;
} // end function counter

2. Utworzyłem plik &#8220;counter.txt&#8221; w katalogu &#8220;db/&#8221; i nadałem mu prawa do zapisu, chmod 777
3. Edytowałem plik &#8220;index.php&#8221; i za
ob_start( 'changeCharset' );

wstawiłem:

$iCounter = counter( );

4.Wtawiłem zmienną $iCounter do pliku templates/container.tpl do bloku FOOT

a dokładnie:
<div id="foot">
<div id="copy">$config[foot_info]</div>
<!--
LICENSE REQUIREMENTS - DONT DELETE/HIDE LINK "powered by Quick.Cart" TO www.OpenSolution.org
-->

<div class="foot" id="powered">Wizyt:<strong>$iCounter</strong>;<a href="http://opensolution.org/">Powered by <strong>Quick.Cart</strong></a></div>
</div>

<div class="clear">&nbsp;</div>


--------------------------------------------------------------
Czym więc może być spowodowany WARNING na górze?
Jak zrobić by licznik nie naliczał jednak odświeżania strony lub rozpoznawał że to ja adminek!?

Makaron

Avatar: Makaron

2009-11-16 13:48

Wydaje mi się, że powodem może być fakt, że do edycji plików używałeś edytora niezgodnego z kodowaniem UTF-8. Mogę osobiście polecić darmowego Notepad++ i spróbowanie wykonanie tych czynności jeszcze raz.

www.mak-web.pl

GrAbAgE

Avatar: GrAbAgE

2010-07-11 00:21

Dzięki za kod z 4 posta tego tematu. Oczywiście dziął bez najmniejszych problemów.

Zanim zapytasz - poszukaj.

Cinek.ck

Avatar: Cinek.ck

2010-08-14 19:14

Witam.
Mam problem z licznikiem @treewood jakieś 2 dni temu jak liczba doszła do ponad 6 tys. odwiedzin, zresetował się, potem po upływie dnia jak doszło do około 40 nowych odwiedzin ponownie się zresetował do zera.
Wie ktoś co może być przyczyną?
licznika nie modyfikowałem wstawiłem według wskazówek.

lordofhares.com

boboo

Avatar: boboo

2010-08-14 19:33

1. Zmień nazwę pliku counter.txt na cokolwiek. I nie musi to być *.txt
2. Jak już licznik ma więcej niż 0 odwiedzin, wyrzuć ten kasujący go (w pewnych przypadkach) konstrukt:
if( strlen( $sData ) == 0 ){
$sData = 0;
}
Ten konstrukt może spowodować przy błędzie odczytu ustawienie licznika (wartości w counter.txt) na zero.

Strony:
Do góry
o nas | kontakt