Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Includowanie po dopiero po 3 wejściach usera
xeveot
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 17.03.2008

Ostrzeżenie: (0%)
-----


Witam

Mam pewien problem, chodzi mi o to że jeśli user obejrzy 3 filmy, albo zagra w 3 gry to includuje się okienko do płatności online.

Myślałem żeby zrobić w bazie danych tabele z IP usera oraz liczbą wejść i jeśli ta liczba jest większa od 3 to wtedy się includuje te okienko(tylko że codziennie ta baza powinna być czyszczona i tego tez nie wiem jak zrobić).

Nie wiem może jest prostszy sposób na wykonanie tego proszę o jakieś nakierowanie.

Dziękuje i pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-gox-
post
Post #2





Goście







mozna to oczywiscie wykonac bez korzystania z bazy danych...
od kiedy codeigniter oferuje mi wysmienicie dzialajace cachowanie w ogole zrezygnowalem z baz danych, liznalem tylko nieco rozszerzenia do plikowych baz danych... jednoczesnie jestem w trakcie lektury http://allegro.pl/item406804796_sztuka_pro..._vat_od_ss.html polecam ta pozycje, do rzeczy..

Odpowiedz sobie na pytanie, czy grupa internautow w ktora celujesz bedzie w ogole znala mechanizm cookie, a jesli bedzie znala, to czy sklonna bedzie zaplacic za ogladanie filmow, moim zdaniem odsetek takich odwiedzajacych bedziesz mial zaden.
Wiec pierwsza mysl => zwykle cookie
Osobiscie bym tak nie zrobil, poniewaz nie mogl bym spac w nocy.
Sposob nie do przeskoczenia, chyba ze masz neozdrade..:

Resetowanie o 00:00 jest nieco trudniejsze do zrealizowania, niz resetowanie po 24h od ostatniego wyswietlenia....

  1. <?php
  2. define('_PATH_', './sciezka/do/katalogu/z/plikami/');
  3.  
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
  6. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  7.  
  8. if (file_exists(_PATH_.$ip)) {
  9. $odw = file_get_contents(_PATH_.$ip);
  10. $odw = explode('|', $odw);
  11. if (count($odw) > 3) die('krytyczny blad bazy danych :)');
  12. $odw = array_map('trim', $odw);
  13.  
  14. if (count($odw) == 3) { # ogladane 3 razy, sprawdzamy czy ostatnie ogladanie mialo miejsce pozniej niz 2
    4 godziny temu
  15. if ( ( end($odw) + 86400 ) < time() ) { # ostatnie ogladanie mialo miejsce ponad 24 godziny temu
  16. file_put_contents(_PATH_.$ip, time().'|');
  17. return true;
  18. }
  19. return false; # dwiedzajacy nie ma prawa przegladac strony.
  20. }
  21.  
  22. if (count($odw) == 2) {
  23. $odw = implode('|', $odw) . time() . '|';
  24. file_put_contents(_PATH_.$ip, $odw);
  25. return true; # odiwedzajacemu zostalo 1 odslona.
  26. }
  27.  
  28. if (count($odw) == 1) {
  29. $odw.= time() . '|';
  30. file_put_contents(_PATH_.$ip, $odw);
  31. return true; # odiwedzajacemu zostaly 2 odslony.
  32. }
  33. die('krytyczny blad bazy danych :)');
  34. }
  35. else {
  36. file_put_contents(_PATH_.$ip, time().'|');
  37. return true; # odiwedzajacemu zostaly 3 odslony.. no teraz juz 2 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
  38. }
  39. die('krytyczny blad bazy danych :)');
  40.  
  41. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.12.2025 - 03:41