Strona 1 z 1

kasująca się wartośc licznika

: czw cze 04, 2009 9:25 am
autor: slawko
Mam licznik i po jakimś czasie on kasuje swoją zawartość i on od nowa zaczyna zliczać wejścia na stronę, a chciałbym by cały czas liczył, przypuszczam że może to być spowodowane jak plik chce zapisać 2 wejścia na raz do pliku, jak to można rozwiązać?
Zastosowałem blokowanie pliku podczas zapisu ale i tak nie pomaga.

[php]<?php
session_start();
$sciezka='stat.txt';

if(file_exists($sciezka)){
$tablica=file($sciezka);
}else{
$tablica=array(0);
}


if(!isset($_SESSION['nr_ip']))
{
$_SESSION['nr_ip']=$_SERVER["REMOTE_ADDR"];
$tablica[0]++;
}

if ($plik=fopen($sciezka, 'wb'))
{
flock($plik,LOCK_EX);
fputs($plik,$tablica[0]);
flock($plik,LOCK_UN);
fclose($plik);
}

echo $tablica[0];

?>[/php]

Re: kasująca się wartośc licznika

: czw cze 04, 2009 1:30 pm
autor: benio101
na moje błąd przy ifie, powinno być:

[php]
<?php
session_start();
$sciezka='stat.txt';

if(file_exists($sciezka)){
$tablica=file($sciezka);
}else{
$tablica=array(0);
}


if(!isset($_SESSION['nr_ip']))
{
$_SESSION['nr_ip']=$_SERVER["REMOTE_ADDR"];
$tablica[0]++;
}

if ($plik==fopen($sciezka, 'wb'))
{
flock($plik,LOCK_EX);
fputs($plik,$tablica[0]);
flock($plik,LOCK_UN);
fclose($plik);
}

echo $tablica[0];

?>
[/php]

Re: kasująca się wartośc licznika

: czw cze 04, 2009 1:56 pm
autor: slawko
Na pewno nie jest to przez znak równa się, po zmienieniu tego znaku, czyści się zupełnie licznik, i nie chce się od nowa zapisywać. Czy zna ktoś rozwiązanie?

Re: kasująca się wartośc licznika

: pt cze 05, 2009 12:29 pm
autor: zakręcony
przeczytaj ostrzeżenie file_exists

ja stosuję cos takiego

[php]<?php
$plik="./licznik.txt";
if (isset($_SESSION['wejscie'])){
$fp=fopen($plik,"r+");
$hits=fgets($fp,10);
}else{
$_SESSION['wejscie']='ok';
$fp=fopen($plik,"r+");
$hits=fgets($fp,10);
$hits=$hits+1;
fseek($fp,0);
fputs($fp,$hits);
fclose($fp);
}

//wyswietlenie
echo $hits;
?>[/php]
?>[/php]

Re: kasująca się wartośc licznika

: pn cze 08, 2009 9:09 am
autor: slawko
No tak, ale czy ten licznik jest odporny na odświeżanie strony?

Re: kasująca się wartośc licznika

: pn cze 08, 2009 11:27 am
autor: zakręcony
po zapuszczeniu skryptu, skrypt sprawdza czy jest sesja, jak jest to nie dodaje wartosci, jak nie ma to tworzy sesję i dodaje...

jest tak samo odpowrny, jak Twój ;)