• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Php +Mysql] Dodanie punktów, mały skrypt

Object Storage Arubacloud
+1 głos
516 wizyt
pytanie zadane 5 czerwca 2017 w PHP przez Tabaluga Początkujący (280 p.)
Witam,

Dopiero co zaczynam wtajemniczać się w php oraz mysql i mam takie pytanie.

W bazie danych posiadam tabele "uzytkownicy" a w niej rekordy: "id", "user", "pass", "email" ,"dnipremium", "punkty"

Potrzebuje teraz napisać mały skrypt, który automatycznie po zalogowaniu się użytkownika dodaje 10 punktów z ograniczeniem do jednego razu na 24h.
Łopatologicznie ujmując użytkownik loguje się na stronę i otrzymuje 10 punktów, wchodzi drugi raz po 24h i otrzymuje następne 10 punktów, a gdy wejdzie wcześniej niż 24h wyskakuje komunikat, że punkty na dzisiaj już zostały dodane i wtedy np pojawiłby się taki napis informujący za ile godzin dostanie następne.

Pomoże ktoś?

2 odpowiedzi

+1 głos
odpowiedź 5 czerwca 2017 przez Bartess Gaduła (3,630 p.)

 "id", "user", "pass", "email" ,"dnipremium", "punkty"

to kolumny tabeli, a nie rekordy. Rekordy to poszczególne wpisy do tabeli. Wg mnie brakuje Ci kolumny "data".
Jak dokładnie ma działać doliczanie 10 pk? Czy faktycznie za każde wejście po co najmniej 24h od poprzedniego naliczenia punktów, czy każdego dnia, którego się zalogował?

1. sposób: gdybym zalogował się o 18:15 jednego dnia, dostałbym 10 pk, a kolejne 10 pk dostanę dopiero dnia następnego po zalogowaniu się po 18:15.

2. sposób: gdybym zalogował się o 18:15 jednego dnia, dostałbym 10 pk, a kolejne 10 pk dostanę po zalogowaniu się dnia następnego, np o 7:48.

W przypadku 1. sposobu w polu "data" musiałbyś zapisywać datę i godzinę ostatniego naliczenia punktów i sprawdzać przy każdym logowaniu, czy upłynęło 24 h od tej daty. W przypadku 2. wystarczyłoby zapisać datę ostatniego logowania i sprawdzać ją z datą obecnego logowania.

komentarz 6 czerwca 2017 przez Tabaluga Początkujący (280 p.)
Myślę że drugi sposób jest lepszy, czyli do tabeli użytkownicy dodaję kolumnę "data", jakiego typu? TIMESTAMP czy DATETIME
komentarz 6 czerwca 2017 przez Tabaluga Początkujący (280 p.)

W przypadku 2. wystarczyłoby zapisać datę ostatniego logowania i sprawdzać ją z datą obecnego logowania.

w jaki sposób mam sprawdzać datę ostatniego logowania z obecną ? mógłbyś pomóc bo nie wiem jak to zrobić ?

+1 głos
odpowiedź 6 czerwca 2017 przez dervil Gaduła (3,030 p.)
po co skrypt, zrób to za pomocą bazy podczas logowania
komentarz 6 czerwca 2017 przez Tabaluga Początkujący (280 p.)
a w jaki sposób?
komentarz 6 czerwca 2017 przez dervil Gaduła (3,030 p.)
update

Podobne pytania

0 głosów
1 odpowiedź 388 wizyt
pytanie zadane 14 kwietnia 2020 w PHP przez Rcube Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 219 wizyt
pytanie zadane 13 grudnia 2016 w PHP przez KamilGG Użytkownik (690 p.)
0 głosów
1 odpowiedź 240 wizyt
pytanie zadane 8 czerwca 2016 w PHP przez Headhunter Gaduła (4,450 p.)

92,556 zapytań

141,404 odpowiedzi

319,562 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...