![]() |
![]() |
-stokrotka- |
![]()
Post
#1
|
Goście ![]() |
Witam serdecznie.
Probuje zrobic cos takiego: Uzytkownik sie rejestruje (to juz mam), loguje (rowniez dziala) ale po wejsciu ma ograniczony limit ruchu... w sensie takim, ze do kazdego uzytkownika, w bazie bedzie podana wartosc ile klikniec moze wykonac (to jest w miare do zrobienia) na tomiast problem mam z tym, zeby wartosc w kolumnie ruch po godzinie wzrastala o 5 - i tu jest problem. Wie ktoś jak to zrobic? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.08.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Podpowiedź mojego poprzednika ("dr_bonzo") jest słuszna.
Skrypt który miałby sprawdzać czy minęła już godzina, może działać następująco: - zapisujesz godzinę zalogowania - po każdym kliknięciu sprawdź ile minęło sekund od zalogowania - jeżeli ilość sekund jest większa niż 3600 to licznik_kliknięć + 5 - jeżeli ilość sekund mniejsza od 3600 to nic nie rób przy zalogowaniu zapisywanie czasu wyglądało by to mniej więcej tak:
po ponownym kliknięciu odczytaj czas z sesji do zmiennej $login_at
Problem został jednak rozpatrony w prymitywny sposób, ponieważ takie rozwiązanie pozwala Tobie na powiększanie konta kliknięć tylko wówczas kiedy użytkownik jest zalogowany i do tego zalogowany przez conajmniej jedną pełną godzinę, jeżeli włączysz wygasanie sesji na mniej niż godzinę albo użytkownik się wyloguje wcześniej to straci czas który już minął. Gdybyś chciał żeby kliknięcia naliczane były non stop nie zależnie czy użytkownik jest zalogowany czy nie, to musisz przyjąć inną strategię!!! Wyglądałoby to tak: w bazie danych z użytkownikami wprowadź kolumny: data założenia konta (actv_date), ilość wykożystyanych kliknięć (il_wyk_klik). Mając takie informacje, mógłbyś: - każde kliknięcie musi powiększać o jedność ilość wykożystanych kliknięć - odjąć od aktualnej daty (w sekundach UNIX) datę zalogowania i podzielić ją przez 3600 - uzyskaną w ten sposób liczbę godzin w systemie mnożysz razy Twoją godzinową stawkę kliknięć i masz limit klikania - następnie sprawdzasz czy liczba kliknięć nie jest większ od obliczonej liczby dozwolonych kliknięć i masz rozwiązanie:
Oczywiście skrypty są poglądowe i nie testowane, pozatym brakuje tam sesji czy bazy MySQL, ale warto się z tym pobawić. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 12:25 |