Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nie działające ciasteczka w IE
Forum PHP.pl > Forum > PHP
lichu10
Witam, napisałem licznik odwiedzin który ustawia cookie z datą do północy tego samego dnia o poniższym kodzie:

  1. <?
  2.  
  3. function doba() { //zwraca czas do końca doby, funkcja może sięmylić o sekundę ale taka dokładność n
    ie jest potrzebna
  4.  
  5. $h  = date('G');
  6. $m = date('i');
  7. $s = date('s');
  8.  
  9. if($m==&& $s==0) {
  10. return (24-$h)*60*60;
  11. break;
  12. } else if ($s==0) {
  13. return (24-$h-1)*60*60 + (60-$m)*60;
  14. break;
  15. } else {
  16.  
  17. $h_left = (24-$h-1)*60*60;
  18. $m_left = (60-$m-1)*60;
  19. $s_left = 60-$s;
  20.  
  21. return $h_left + $m_left + $s_left;
  22.  
  23. }
  24. }
  25.  
  26. $plik = "licznik.txt";
  27. $waznosc = doba(); //po jakim czasie mogą naliczać się odwiedziny od ostatniego wejścia (w sekundach) //86400=1dzień
  28. //odczyt
  29. if (file_exists($plik)) {
  30. $fp = fopen($plik, "r");
  31. $odwiedziny = fread($fp, filesize($plik));
  32. fclose($fp);
  33. } else {
  34. $odwiedziny = 0;
  35. }
  36. //---------
  37.  
  38.  
  39. if(!isset($_COOKIE['licznik'])){
  40.  
  41. $odwiedziny++; //zwiększenie wartości odwiedzin o 1
  42.  
  43. //zapis
  44. $fp = fopen($plik, "w");
  45.  
  46. if(!flock($fp, LOCK_EX)){
  47. fclose($fp);
  48. return;
  49. } else {
  50. fputs($fp, $odwiedziny);
  51. flock($fp, LOCK_UN);
  52. fclose($fp);
  53. setcookie('licznik',$odwiedziny,time()+$waznosc);
  54. }
  55. //---------
  56. }
  57. ?>


Teraz zaobserwowałem dziwną rzecz bo w FF działa dobrze... mianowicie w IE nie zapisuje się to cookie, czyli po dowolnym przechodzeniu pomiędzy podstronami serwisu dokłada się 1 do liczby odwiedzin. Czemu w FF wszystko działa ok podczas gdy jak zwykle IE nie działa jak trzeba? Czy może ja coś źle zrobiłem?
lectric
Sprawdz w ustawieniach IE czy masz wlaczone obsluge ciasteczek.
lichu10
Tak, ciasteczka są włączone. Jest jedna rzecz która może mieć wpływ na to... strona jest przekierowana przez prv.pl. To jest najprawdopodobniej powód całego zamieszania. Zauważyłem że PRV robi stronę z ramkami i właściwą stronkę umieszcza w ramce. Z tego co pamiętam ciasteczka muszą być umieszczane przed wysłaniem tekstu do przeglądarki więc kod ramek jest już tekstem wysłanym do przeglądarki, choć nie jestem pewien jak to wygląda z ramkami...
AHA. Przy uruchomieniu stronki z właściwego adresu (bez przekierowania) wszystko jest OK.

Udało mi się naprawić istniejący problem. Wyjaśniam na czym to polegało dla innych użytkowników PRV.PL którym nie działają ciasteczka (i niektóre inne funkcje PHP).
Otóż przy włączonym maskowaniu adresu serwis PRV.PL umieszcza stronę w ramce zajmującej całe okno przeglądarki. Stąd problem z ciasteczkami. Po wyłączeniu maskowania wszystko jest ok.

offtopic.gif
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.