![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Na mojej stronie która niedługo się pojawi zrobiłem system kont Premium. Jest możliwość wykupienia ich przez wysłanie SMSa. W skrypcie jeżeli wpisze poprawny kod sms dodaje mu warunek 1 do pola w MySQL (premium). Na stronie zrobiłem skrypt który pokazuje ile dni pozostało do wygaśnięcia premium (tak że premium jest na ileś tam dni) załóżmy że 30.
Taki oto skrypt:
Te $miesiac itp to sa pola w MySQL. Skrypt który wyświetla podaną ilość czasu do wygaśnięcia:
No i tak za każdym kupieniem Premium musiał bym ręcznie ustawiać date w MySQL i ręcznie dodawać 30 dni doliczając date itp. Chciałbym zrobić tak aby za każdym wysłaniem smsa i wpisaniem odpowiedniego kodu nie tylko dodawało Premium w MySQL ale i dodawało do tych 3 pól miesiąc itp. 30 dni lecz jeśli to będzie np. 29.02.2008 i jaki tu mam napisać skrypt aby dodało to 30 dni i zmieniło miesiąc 02 na 03 itp. Również jaka funkcja by była jeżeli ta data by już wystąpiła, aby po upłynięciu tych dni usunęło premium z bazy danych mysql. Męcze się z tym już tydzień mam nadzieje że ktoś mi pomoże. Ten post edytował Dimond 12.07.2008, 19:07:53 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
oj kolego, ty to od tzw."od dupy strony robisz". co to za chore kombinacje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
robisz pole premium [int(11)] gdzie dajesz timestampa. User wysyła SMS to zapisujesz mu timestamp+wykupiony czas. I koniec filozofi, kombinowania, dodawania. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
No a jak dać mu tego timestampa+ czas? Potem jak zrobić aby ten czas odliczało i wyświetlało na stronie.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
jaki tu mam napisać skrypt aby dodało to 30 dni i zmieniło miesiąc 02 na 03 itp. Skorzystaj z strtotime" title="Zobacz w manualu PHP" target="_manual. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
no podstawy, podstawy... no dobra, widzę, że zagubiłem się w dziale przedszkole..moja wina...
finito... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie normanos prawie problem rozwiązany tylko jeszcze potrzebuje do tego dodać funkcje już kiedy 7 dni minie, aby odebrało to premium userowi.
|
|
|
![]()
Post
#7
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 072 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
a po co usuwanie? w miejscach gdzie potrzebne premium sprawdzasz czy miesci sie w czasie tego premium i jesli nie badz pole jest puste to znaczy ze juz go nie ma (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
jak napisał kwiateusz wyżej: o ile nie masz powodów to nie ma czego usuwać (np. do statsów się mogą dane przydać) bo po co. sprawdzasz banalnie prosto:
1. wyciągasz $do_kiedy_premium dla danego usera 2. porównujesz obecną datę if($teraz > $do_kiedy_premium) => sorry, na drzewo |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
no podstawy, podstawy... no dobra, widzę, że zagubiłem się w dziale przedszkole..moja wina...
finito... No zrobiłem tak i pokazuje mi taką date: 01-01-1970 01:00 ;/ a powinno dodać te 7 dni do daty aktualnej. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Diamond, zrób to tak:
P.S.: To jest do AccMaker-a? Bo jeżeli tak, to mam lepszy skrypt dodawania premium ;-) Ten post edytował sebekzosw 13.07.2008, 11:32:31 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie to jest nie do accmarkera ale coś w tym stylu. Chodzi oto że wykupuje premium przez SMS i dodaje mu 30 dni np. do tego premium i wyświetla mu się ile dni zostało albo date wygaśnięcia. Możesz pokazac ten swój skrypt?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Coś na szybko napisałem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Kod CREATE TABLE `premium` ( `id` int(11) NOT NULL auto_increment, `user` int(11) NOT NULL, `data_zakupu` datetime NOT NULL, `okres` int(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `user` (`user`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1;
Ten post edytował b4x 13.07.2008, 12:06:49 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja najpierw sprawdzam, czy premium nie jest czasem aktywne poprzez if(time() > $premium) - jeżeli premium już jest, to dodaje dodatkowe dni, a jeżeli premium się skończyło to do time() dodaje x dni premium
I aktualizujesz miejsce, gdzie masz datę premium dodając wynik -> $koniec_premium, a $premium_uzytkownika pobierasz z bazy Ten post edytował sebekzosw 13.07.2008, 12:00:03 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
W bazie danych mam dwa pola. Jedno mam zwykłe (Donaterank) int(11) i w nim muszą być pojedyńcze cyfry.
0 - Brak Premium. 1 - Premium Medium. 2 - Premium Silver. 3 - Premium Gold. I własnie w skrypcie muszę mieć tak aby przy wygaśnięciu premium czyli już np. 30 dni mineło to musi UPdate robić na pole Donaterank na 0 czyli brak premium. Również w tym aby ustawiło 0 dni w innym polu. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
poczytaj o cron
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 22:09 |