By nie było, że daje gotowca:
/**
* @return string
*/
public function getAge()
{
if (empty($this->birthday)) {
return 'Nie powiem';
}
$age = (new DateTime($this->birthday))->diff((new DateTime()), true)->y;
if ($age < 8) {
return 'Za młody by mieć konto';
}
if ($age > 120) {
return 'Starszy niż świat';
}
$age .= ' ' . ($age == 1 ? 'rok' : ($age % 10 >= 2 && $age % 10 <= 4 && ($age % 100 < 10 || $age % 100 >= 20) ? 'lata' : 'lat'));
return $age;
}
Jest to "stara" metoda z pewnej klasy, która pokazuje date urodzenia w latach :P
Przerób ją sobie pod własne wymagania.
A tak w ogóle:
> $data_urodzenia = $_SESSION['data_urodzenia'];
Co wy macie z tymi sesjami? Do wywalenia.
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
nie rozumiem ludzi, którzy przepisują tak wartości, tylko po to, by je odczytać =/
Jeśli boisz się, że przypadkowo nadpiszesz zmienną globalną, to można zrobić tak:
$myRequestParams = $_POST;
//odwolanie do zmiennej:
echo $myRequestParams['day']; //pokazuje dzien
a jeszcze taki trik pokaże, dla ludzi używających php7.1:
$_POST['day'] = 'a';
$_POST['month'] = 'b';
$_POST['year'] = 'c';
list('day' => $day, 'month' => $month, 'year' => $year) = $_POST;
var_dump($day, $month, $year);
/**
* pokaże:
* string(1) "a"
* string(1) "b"
* string(1) "c"
**/