Thomas Luethi: Geburtstag Check

Beitrag lesen

Hallo Benedikt,

Den Timestamp vom Geburtstag kann er sich doch mit der Funktion mktime() http://www.php.net/mktime viel einfacher holen

Ja, das soll er auf jeden Fall. Fuer beide Loesungen.

$geburi=mktime(23,59,59,$monat,$tag,$jahr);

Wenn man dann das alter haben will könnte man ja: time()-mktime(parameter)
somit hat man ja dann die lebenslänge in sekunden ohne sich selber um schaltjahre kümmern zu müssen.

_Diese_ Methode hat eben den Nachteil, dass sie die Schaltjahre _nicht_ beruecksichtigt.

Somit koennte jemand, der ein paar Tage zu jung ist, auch schon das "OK" kriegen,
weil er zwar mehr als 18*365*24*60*60 Sekunden alt ist, aber in diesem Jahr noch nicht
Geburtstag hatte... (OK, man koennte noch 5 Tage = 5*24*60*60 Sekunden dazuzaehlen,
aber das macht es trotzdem nicht korrekt.)

Das umgeht man, wenn man zum Vergleichen eben "heute vor 18 Jahren" nimmt.

$heutevor18=strtotime ("-18 years");

if ($geburi>$heutevor18)
  {  /* Alles in Ordnung */  }
else
  { /* Sie sind leider zu jung... */ }

Ich hab's nicht getestet, sollte aber funktionieren.

Gruesse,

Thomas