Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Jeden raz dziennie
-Jacke32-
post 21.02.2011, 20:18:56
Post #1





Goście







Witam!

Tworzę grę. W grze będzie się karmiło zwierzątko. Chciałbym aby każde IP mogło to zrobić tylko 1 raz dziennie. Niestety nie mam pojęcia jak to wykonać. Myślałem, o pobraniu daty i odjęciu od 24 godzin, a następnie o odliczaniu i gdy wartość licznika będzie 0, to skrypt pozwoliłby znowu wykonać funkcję, ale niestety uważam że można byłoby zrobić to mniej skomplikowanym sposobem. Proszę o nakierowanie mnie na właściwy trop, albo przedstawienie waszych propozycji, jak byście to zrobili.
Go to the top of the page
+Quote Post
Ulysess
post 21.02.2011, 21:11:46
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


ja bym proponował stworzyć w bazie tabele w której przetrzymywane były by IP/ID_user osób które karmiły dziś zwierzątko + zadanie cron które codziennie o 00:00 czyściło by ta tabele.
po stronie php sprawdzał byś tylko czy dane IP jest w tej tabeli jeśli nie ma karmisz zwierzaka jeśli jest ....

Go to the top of the page
+Quote Post
Fifi209
post 21.02.2011, 21:13:36
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Ulysess @ 21.02.2011, 21:11:46 ) *
zadanie cron które codziennie o 00:00 czyściło by ta tabele.

Jeżeli ja nakarmię o 23 to mógłbym nakarmić za godzinę a ma być 24. smile.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
sadistic_son
post 21.02.2011, 21:22:57
Post #4





Grupa: Zarejestrowani
Postów: 1 476
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Po co cron? Przy karmieniu wpisujesz do bazy date (najlepiej w formacie UNIX) o ktorej dany user karmil. Przy kolejnym karmieniu sprawdzasz czy:
  1. if($data_z_bazy <= time()-86400){
  2. //zezwalasz na nakarmienie oraz date w bazie nadpisujesz obecną
  3. }else{
  4. echo 'musisz poczekac z karmieniem';
  5. }
86400=60 sekund * 60 minut * 24 godziny => doba.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
-Jacke32-
post 22.02.2011, 06:47:34
Post #5





Goście







Chodziło mi o jeden raz dziennie, czyli tak jak powiedział Ulysess. Niestety ja bym wolał zablokować IP, ponieważ chciałbym, aby osoby niezalogowane też mogły dokarmiać zwierzątko.
Go to the top of the page
+Quote Post
Fifi209
post 22.02.2011, 12:26:14
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Zrób tak jak radzi sadistic_son z tą różnicą, że zapisujesz IP i je potem sprawdzasz.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
-Jacke32-
post 22.02.2011, 15:23:14
Post #7





Goście







Ok. Dzięki za pomoc. Temat można zamknąć.
Go to the top of the page
+Quote Post
$_GET['Kuba']
post 22.02.2011, 17:44:42
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.02.2011

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


Tylko pobieraj czas z jakiegoś serwera, a nie z komputera użytkownika, bo będą ci czitować biggrin.gif
Go to the top of the page
+Quote Post
sadistic_son
post 22.02.2011, 18:27:38
Post #9





Grupa: Zarejestrowani
Postów: 1 476
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Pokaż mi jak za pomocą funkcji time pobrać czas z komputera użytkownika...


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
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: 25.04.2024 - 07:42