![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 27.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem ze skryptem licznika odwiedzin opartym o sesję. Co jakiś czas zeruje się i nie mogę dojść dlaczego? Czy to problem z jednoczesnym dostępem do pliku przez wielu użytkowników? Może wtedy zamiast do pliku lepiej byłoby zapisywać do tabeli MySQL? Może pewniejszy byłby na ciasteczku, a nie na sesji? (przy okazji: zauważyłem, że w IE zlicza wejście za pierwszym razem, a potem nawet jak zamknę przeglądarkę i otwieram stronę ponownie to nie dodaje odwiedzin. Muszę dopiero celowo zakończyć sesję poleceniem session_destroy. Natomiast w Firefoxie jest prawidłowo).
A oto ten skrypt:
No i potem gdzieś w pliku jest: echo $stan_licznika; Ten post edytował przemek76 27.08.2007, 23:52:49 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Wyedytuj post i zastosuj kod PHP
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja miałem coś takiego:
Ten post edytował Kaloryfer 28.08.2007, 00:04:53 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 27.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź - spróbuję tego licznika. (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Zauważyłem, że w twojej propozycji rozpoznawany jest błąd otwarcia pliku. Czy jest możliwe, że u mnie właśnie to jest problemem? Tak sobie pomyślałem, że jeśli ktoś czyta z pliku i ktoś inny też spróbuje się do niego dostać (w tej samej chwili wszedł na stronę), to nic nie odczyta, a więc zmienna $odczyt będzie pusta i $stan_licznika ustali się na 1 (pusta zmienna + 1) i taki stan następnie zostanie zapisany do pliku. Czy możliwy jest taki scenariusz? Ten post edytował przemek76 28.08.2007, 11:44:07 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
$plik=fopen("licznik.txt","w"); - tutaj licznik się zeruje, a następnie fwrite($plik, "$stan_licznika;", 15); zwraca błąd, czyli zero i się nic nie zapisuje i w tym tkwi problem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:40 |