Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Uodpornienie na przeładowania
bartek_fm
post 7.09.2007, 10:24:48
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


Witam! smile.gif


Mam licznik, który zlicza odwiedziny danego dnia. Nie jest on jednak odporny na przeładownia strony. Czy jest jakaś możliwość wpisania do niego kodu, który uodporni go na odświerzanie? Oto kod:

  1. <?php
  2.  
  3. $dzien=date("l");
  4. $dzien=strtolower($dzien);
  5. $path="dni/";
  6. $confirm=$HTTP_COOKIE_VARS["licz"];
  7.  
  8. $_temp=Array( # pomocnicza tablica
  9. "monday" => "sunday",
  10. "thuesday" => "monday",
  11. "wednesday" => "thuesday",
  12. "thursday" => "wednesday",
  13. "friday" => "thursday",
  14. "saturday" => "friday",
  15. "sunday" => "saturday"
  16. );
  17.  
  18. for($i=0;$i<=$dzien;$i++){
  19.  
  20. if(($dzien==TRUE)&&(!@file_exists($path."$dzien.txt"))&&(!isset($confirm)))
  21. {
  22.  
  23.  
  24.  
  25. $ustaw=@fopen($path."$dzien.txt","w");
  26. chmod($path."$dzien.txt",0666);
  27. fclose($ustaw);
  28.  
  29.  $poniedzialek=@file($path."$dzien.txt");
  30.  $stan=$poniedzialek[0]+1;
  31.  $poniedzialek=@fopen($path."$dzien.txt","w");
  32.  flock($poniedzialek,2);
  33.  fwrite($poniedzialek,$stan);
  34.  flock($poniedzialek,3);
  35.  fclose($poniedzialek);
  36.  @unlink($path."$_temp[$dzien].txt");
  37.  @setcookie("licz","odslona",time()+3600*24);
  38.  
  39.  
  40. }
  41. elseif(($dzien==TRUE)&&(@file_exists($path."$dzien.txt"))&&(!isset($confirm)))
  42. {
  43.  
  44.  $poniedzialek=@file($path."$dzien.txt");
  45.  $stan=$poniedzialek[0]+1;
  46.  $poniedzialek=@fopen($path."$dzien.txt","w");
  47.  flock($poniedzialek,2);
  48.  fwrite($poniedzialek,$stan);
  49.  flock($poniedzialek,3);
  50.  @fclose($poniedzialek);
  51.  @setcookie("licz","odslona",time()+3600*24);
  52.  
  53.  
  54. }
  55. elseif(($dzien==TRUE)&&(@file_exists($path."$dzien.txt"))&& isset($confirm))
  56. {
  57.  
  58.  
  59. $plik=@fopen($path."$dzien.txt","r");
  60. flock($plik, 1);
  61. $line=chop(trim(fgets($plik,150)));
  62. flock($plik, 3);
  63. @fclose($plik);
  64.  
  65.  
  66. }
  67. }
  68.  
  69. ?>


Z góry dziękuję! Bartek


--------------------
Waluta euro w Polsce

Euro 2012 forum

Zakaz palenia
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:36