Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> licznik odwiedzin, zliczanie cookies
marek_90
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.11.2010

Ostrzeżenie: (0%)
-----


Witam.

Mam taki problem z licznikiem odwiedzin. Dodam, że jestem początkującym programistą php, wzorowałem się na gotowym skrypcie.

Całość kodu wygląda następująco:
  1. <?php
  2.  
  3. if((!isset($_COOKIE['licznik-tab'])) && (!strstr($_SERVER['HTTP_REFERER'], "localhost"))) {
  4. $plik = fopen("licznik.txt", "r");
  5. $tekst = fread($plik, filesize("licznik.txt"));
  6. $dane = explode(";", $tekst);
  7. fclose($plik);
  8. $plik = fopen("licznik.txt", "w");
  9. flock($plik, 2);
  10. $dane[0]++;
  11. fwrite($plik, "$dane[0];", 15);
  12. flock($plik, 3);
  13. fclose($plik);
  14. setcookie("licznik", "zliczono", 0);
  15. }
  16. else {
  17. $plik = fopen("licznik.txt", "r");
  18. $tekst = fread($plik, filesize("licznik.txt"));
  19. $dane = explode(";", $tekst);
  20. }
  21.  
  22. ?>


No i wyświetlenie
  1. <p><span class="style1">Do tej pory odwiedziło nas</span> <?php ob_start(); echo($dane[0]); ob_end_flush(); ?> <span class="style2">użytkowników.</span></p>


Problem polaga na zliczeniu każdego odświeżenia strony.
i takim komunikacie
Notice: Undefined index: HTTP_REFERER in C:\Program Files\wamp\www\strona\index.php on line 55

a linia 55 wygląda tak :
  1. if((!isset($_COOKIE['licznik-tab'])) && (!strstr($_SERVER['HTTP_REFERER'], "localhost"))) {


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
hind
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 24
Dołączył: 30.03.2009
Skąd: Rokitno Szlacheckie

Ostrzeżenie: (0%)
-----


1. HTTP_REFEREF nie zawsze występuje
2. W większości wypadków Error reporting jest ustawiony aby nie wyświetlać noticów
3.
Kod
<?php ob_start(); echo($dane[0]); ob_end_flush(); ?>

po co dawać ob_start, jeśli z tak zdobytymi danymi nic się nie chce robić ?
Kod
<?php echo $dane[0]; ?>


wywal sprawdzanie referera
Kod
    if((!isset($_COOKIE['licznik-tab']))) {
Go to the top of the page
+Quote Post
marek_90
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.11.2010

Ostrzeżenie: (0%)
-----


Teoretycznie teraz działa poprawnie ale jest jedna rzecz, dalej zlicza przy każdym odświeżeniu strony. Czy to kwestia ustawienia cookies w inny sposób ?
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(marek_90 @ 16.11.2010, 12:41:50 ) *
Teoretycznie teraz działa poprawnie ale jest jedna rzecz, dalej zlicza przy każdym odświeżeniu strony. Czy to kwestia ustawienia cookies w inny sposób ?

Ustawiasz cookie o nazwie: licznik, a sprawdzasz licznik-tab


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:42