ďťż
Podstrony
|
telcocafeWitamZrobiłem sobie prosty licznik odporny na odświeżanie: <? if (empty($licznik)){ $plik = fopen('licznik.txt','r'); $liczba = fread($plik, filesize('licznik.txt')); $liczba++; $plik = fopen('licznik.txt','w+'); fwrite($plik, $liczba); fclose($plik); setcookie('licznik', 'licz'); } ?> I mam stronkę w serwisie prv.pl i na tam ten skrypt nie działa (skrypt umieściłem na samym początku pliku), i co każde odświeżnie wartość licznika powiększa się. Skrypt sprawdzałem na Krasanlu i działało wszysko OK a na stronce już nie :( Może to być wina serwisu PRV? Witam Zrobiłem sobie prosty licznik odporny na odświeżanie: <? if (empty($licznik)){ $plik = fopen('licznik.txt','r'); $liczba = fread($plik, filesize('licznik.txt')); $liczba++; $plik = fopen('licznik.txt','w+'); fwrite($plik, $liczba); fclose($plik); setcookie('licznik', 'licz'); } ?> I mam stronkę w serwisie prv.pl i na tam ten skrypt nie działa (skrypt umieściłem na samym początku pliku), i co każde odświeżnie wartość licznika powiększa się. Skrypt sprawdzałem na Krasanlu i działało wszysko OK a na stronce już nie :( Może to być wina serwisu PRV? 1 masz obsluge php na serwerze? 2 sprawdz uprawnienia dostepu do pliku licznik.txt Skoro wartość licznika co każde odświeżanie strony powiększa się, to napewnow serwer obsługuje PHP i plik ma dobre uprawnienia. spróbuj tego (moja klasa licznika dla www): class counter { var $visits; var $file_name; public function __construct($file_name) { $this->file_name = $file_name; if(!file_exists($this->file_name)) { $this->visits = 0; } else { $this->visits = file_get_contents($this->file_name); } $this->count_visit(); } public function __destruct() { file_put_contents($this->file_name,$this->visits); } protected function count_visit() { if(!isset($_SESSION)) { session_start(); } if(!isset($_SESSION['counter'])) { $_SESSION['counter']=$this->visits; $this->visits = $this->visits+1; file_put_contents($this->file_name,$this->visits); } } public function display_counts() { echo "$this->visits"; } public function get_counts() { return $this->counts; } } Użytkownik Krzymar edytował ten post 06 wrzesień 2006, 08:32 Gdybyś pisał poprawnie, to by działało. Najprawdopodobniej na serwerze masz wyłączone register_globals (i słusznie) a u siebie masz włączone, przez co źle piszesz skrypty. Zamień: if (empty($licznik)){ Na: if (empty($_COOKIE['licznik'])){ @down już poprawiłem, drobna pomyłka ;) Użytkownik .:dR@kE:. edytował ten post 06 wrzesień 2006, 14:38 if (empty($_SESSION['licznik'])){ a czy nie przypadkiem if (empty($_COOKIE['licznik'])){ ;) ??? A jak nie to, to może parser rząda ustawienia czasu wygaśnięcia ciacha ? |
|||
Sitedesign by AltusUmbrae. |