Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] weryfikacja daty, dodawanie dat
Forum PHP.pl > Forum > Przedszkole
gurniksson
Witam
mam troche ogolne pytanie ale nie wiem od czego zaczac zeby zrobic cos takiego:
kazdy zarejestrowany uzytkownik mojego serwisu bedzie posiadal konto wazne przez okres 2 lat od momentu rejestracji.
przy kazdym logowaniu chcialbym zrobic weryfikacje tego czy konto jest jeszcze wazne.
w formularzu rejestracyjnym przekazywana jest data rejestracji i teraz jak do tej daty dodac 2 lata
a nastepnie jak sprawdzic czy uzyskana data waznosci juz minela.

nigdy nie pracowalem jeszcze z funkcjami daty php dlatego pytam.
c3zi
Mozesz zrobic to w ten sposob:
- wyciagasz z bazy date,
- rozdzielasz ja za pomoca explode()
- dodajesz odpowiednia wartosc do elemeentu tablicy przechowujacego rok
- porownujesz z data terazniejsza
- koniec

Sa rowniez inne sposob, np. wykorzystanie funkcji mktime.
Daimos
ja polecam korzystanie z time" title="Zobacz w manualu PHP" target="_manual
Khobar
Mozna tez tak :
przy rejestracji pobrać date i zwiększyć :
  1. <?php
  2. $dzien=date(d);
  3. $miesiac=date(m);
  4. $rok=date(Y) + 2;
  5. ?>

i
i załadować do jednej zmiennej
  1. <?php
  2. $EXP_data= $rok . $miesiac . $dzien;
  3. ?>


i to zapisać do bazy .Przy lgowaniu wstarczy ze pobierzesz
  1. <?php
  2. $now=date(Ymd);
  3. ?>


i porównasz do EXP_data z bazy danych
smile.gif
colinQ
Ja polecam funkcję time()" title="Zobacz w manualu PHP" target="_manual.

Należało by to wykonać tak:

- tworzysz zmienna $czas do której zapisujesz time() + czas 2 lata (musi on być w sekundach!!!)
- Przy rejestracji zapisujesz do bazy zmienna
- przy zalogowaniu sprawdzasz czy czas obecny < czasu z bazy

Proste prawda??

Najgorsze jest wyliczenie ile rok ma sekund a potem pomnożenie go przez dwa winksmiley.jpg
Moli
2 lata mają 61516800 sekund smile.gif
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.