Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jeden raz dziennie
Forum PHP.pl > Forum > Przedszkole
Jacke32
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.
Ulysess
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 ....

Fifi209
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
sadistic_son
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.
Jacke32
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.
Fifi209
Zrób tak jak radzi sadistic_son z tą różnicą, że zapisujesz IP i je potem sprawdzasz.
Jacke32
Ok. Dzięki za pomoc. Temat można zamknąć.
$_GET['Kuba']
Tylko pobieraj czas z jakiegoś serwera, a nie z komputera użytkownika, bo będą ci czitować biggrin.gif
sadistic_son
Pokaż mi jak za pomocą funkcji time pobrać czas z komputera użytkownika...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.