Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Odliczanie czasu do wygaśnięcia Premium.
Dimond
post
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:
  1. <?php
  2. $miesiac = $_SESSION['miesiac']; $dzien = $_SESSION['dzien']; $rok = $_SESSION['rok'];
  3. $szkola = mktime(0,0,0,$miesiac,$dzien,$rok) -mktime(date(&#092;"H\"),
  4. date(&#092;"i\"), date(\"s\"), date(\"m\"), date(\"d\"), date(\"Y\"));
  5. ?>


Te $miesiac itp to sa pola w MySQL.
Skrypt który wyświetla podaną ilość czasu do wygaśnięcia:

  1. <?php
  2. echo floor($szkola/(60*60*24))
  3. ?>


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sebekzosw
post
Post #2





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

  1. <?php
  2. $premium_uzytkownika = "121415431";
  3. $dlugosc_premium = 7;
  4.  
  5. if(time() > $premium_uzytkownika) {
  6. $koniec_premium = date("d-m-Y H:i", strtotime(date("d-m-Y H:i"))+60*60*24*$dlugosc_premium);
  7. } else {
  8. $koniec_premium = date("d-m-Y H:i", $premium_uzytkownika+60*60*24*$dlugosc_premium);
  9. }
  10.  
  11. //aktualizowanie pola 'premium' tym wynikiem: $koniec_premium
  12. ?>


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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 02:18