Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: licznik z cookies
Forum PHP.pl > Forum > Przedszkole
Endrjub
witam.
Pojawia mi sie bez przerwy taki komunikat, mimo iz innym wszystko dziala ok i nie wyskakuja zadne bledy przy uruchomieniu skryptu.
Ten blad to:
Notice: Undefined variable: visited in c:\program files\apache group\apache\htdocs\endrju\licznik.php on line 19

  1. <?
  2. setcookie(&#092;"visited\", \"1\", time()+3600); 
  3.  
  4. ?>
  5.  
  6. <HTML>
  7. <BODY>
  8. <?
  9. if(file_exists(&#092;"counter.n\")) 
  10. { 
  11. $file=fopen(&#092;"counter.n\", \"r\"); 
  12. flock($file, 1); 
  13.  
  14. $ile=fgets($file, 100); 
  15.  
  16. flock($file, 3); 
  17. fclose($file); 
  18.  
  19. if($visited!=&#092;"1\") 
  20. {
  21. $ile++; 
  22.  
  23. }
  24. }
  25. else
  26. {
  27. $ile=1; 
  28. }
  29.  
  30. $file=fopen(&#092;"counter.n\", \"w\"); 
  31. flock($file, 2); 
  32.  
  33. fwrite($file, $ile); 
  34.  
  35. flock($file, 3); 
  36. fclose($file); 
  37.  
  38. echo($ile); 
  39. ?>
  40. </BODY>
  41. </HTML>


Czy cos trzeba zmienic w konfiguracji apacha?questionmark.gif
Robilem jeszcze tak:
  1. <? 
  2. .
  3. .
  4. $visited=$_COOKIE['visited'];
  5. .
  6. ?>

i tez nic nie pomoglo. Pojawial sie za to inny komunikat:
Notice: Undefined index: visited in c:\program files\apache group\apache\htdocs\endrju\licznik.php

Moze ktos wie o co w tym chodzi?questionmark.gif
Yarecki
  1. <?php
  2. if( isset( $_COOKIE['visited'] ) && $_COOKIE['visited'] != 1 ) {
  3. //reszta kodu
  4. }
  5. ?>


Używaj isset i empty, żeby sprawdzić czy jakaś zmienna istnieje/jest pusta. To wyeliminuje błędy typu Notice.
Endrjub
Teraz skrypt nie dziala w ogole. Najberdzie zastanawia mnie fakt, iz skrypt ktory przedstawilem jest zawarty w baaaardzo wielu kursach w necie i chyba ludziom to dziala, skoro powielaja ten sam przyklad.
Dlatego tez zastanawiam sie nad ustawieniami apacha.Moze u mnie jest cos nie tak. Jesli mozecie to sprawdzcie czy u Was pojdzie. Bo ja juz nie mam pojecia co z tym fantem zrobic.
Pozdrawiam
yavaho
Cytat(Endrjub @ 2005-02-17 02:11:14)
Ten blad to:
Notice: Undefined variable: visited in c:\program files\apache group\apache\htdocs\endrju\licznik.php on line 19
Nie istnieje zmienna "visited" a wiec nie zostalo odczytane ciasteczko z twojego kompa. Moze masz wyłaczone ciasteczka?
Albo funkcje "setcookie" title="Zobacz w manualu PHP" target="_manual" uzywasz gdzies w srodku kodu po wysłaniu do przegladarki klienta juz jakis informacji.

Wstaw do pliki index.php na samym poczatku i na samym koncu takie funkcje:
  1. <?php
  2.  
  3. ?>

I zanim uzyjesz w kodzie zmienna z ciasteczka to sprawdz czy ona istnieje. Bo nie kazdy ma wlaczona obluge ciasteczek.
  1. <?php
  2. if(isset($_COOKIE['visited']) ){
  3. if($_COOKIE['visited']!=&#092;"1\") {
  4. //...
  5. }
  6. }
  7. ?>
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.