Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Błąd spowodowany przez cookie
-rAlb-
post
Post #1





Goście







Witam,

Ponizszy kod to licznik odwiedzin stron oparty na pliku tekstowym i pliku cookie.

  1. <?php
  2. $liczbaOdwiedzin = file_get_contents("licznik.txt");
  3. if(!isset($_COOKIE['visited']))
  4. {
  5. setcookie('visited', 1, time()+1800);
  6. $liczbaOdwiedzin++;
  7. $fileHandler=fopen("licznik.txt", "w");
  8. fputs($fileHandler, $liczbaOdwiedzin);
  9. fclose($fileHandler);
  10. }
  11. echo $liczbaOdwiedzin;
  12. ?>


I w stronie index.php jest:

  1. <?php include("licznik.php"); ?>


Niestety czasami (nie zawsze) pojawia się błąd "Cannot modify header information - headers already sent" i nie wiem:
- czemu tak sie dzieje
- i co zrobic zeby bylo OK.

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





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


setcookie() wymaga wysłania nagłowka HTTP
co za tym idzie kod ten musi być wykonany na samym początku skryptu, zanim rozpoczenie się przesyłanie BODY.
I nie, nie mam na myśli znacznika HTML:BODY
Tylko BODY jako treść dokumentu, to co następuje po nagłowkach HTTP.

Umieść include na samym początku skryptu.
Go to the top of the page
+Quote Post
-rAlb-
post
Post #3





Goście







Czyli, że mam umieścić include do licznik.php na samym początku index.php. No dobra, ale to muszę wywalic z niego instrukcję echo, bo nie chce żeby gdzieś u góry wyświetlał mi licznik użytkowników i gdzieś dalej w kodzie, gdzie chce żeby ten licznik się wyświetlił muszę dodać <?php echo $licznikOdwiedzin; ?>. Ale niestety tak jak się obawiałem, to nie zadziałało. Jak rozwiązać problem?
Go to the top of the page
+Quote Post
jaslanin
post
Post #4





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


Skąd wziąłeś zmienną: $licznikOdwiedzin

Wcześniej podajesz zmienną: $liczbaOdwiedzin;

Więc chyba kod powinien wyglądać tak:

  1. <?php echo $liczbaOdwiedzin; ?>


--------------------
Good luck and happy PHP'ing
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: 21.08.2025 - 04:49