Alter auf 18 überprüfen

caramba12321

blödefragensteller
Hi,
also ich habe ein Geburtsdatum im format 00-00-0000 vorliegen und will überprüfen ob der User bereits 18 ist. Wie kann ich das tun?

Danke schonmal jetzt für konstruktive vorschläge.

Gruss
Caramba
 
Das Geburtsjahr vom aktuellen Jahr abziehen ist schonmal ein guter Schritt. Wenn dies genau 18 ergibt musst Du noch den Monat pruefen. Wenn der aktuelle Monat gleich dem Geburtsmonat ist musst Du dann auch noch den Tag pruefen.
 
okay , nur eine Frage noch, wie krieg ich den aktuellen timestamp (time()) in das gleiche Format, wie ich mein Bday habe und wie kann ich dann aus dem Timestamp die Tage/Monate/Jahre einzelnd herausholen?
 
Hallo!

Warum nicht das Geburtsdatum in einen Timestamp umwandeln und dann damit rechnen?
PHP:
<?php
$datum = "14-07-1988"; // Geburtsdatum Tag-Monat-Jahr
$mindestalter = "18"; // Mindestalter
 
$var = explode("-", $datum); // Geburtsdatum zerlegen
$check = @checkdate($var[1], $var[0], $var[2]); // angegebenes Geburtsdatum auf Gültigkeit prüfen
if($check == true) { // wenn Geburtsdatum gültig ist
    $min = strtotime("-".$mindestalter." years"); // aktueller Timestamp abzüglich 18 Jahre
    $geb = mktime(0, 0, 0, $var[1], $var[0], $var[2]); // Timestamp des angegebenen Geburtsdatums
    if($min >= $geb) { // ist der Timestamp abzüglich 18 Jahre grösser oder gleichgross als der Timestamp des Geburtsdatums
        echo "über ".$mindestalter." Jahre <b>:)</b>"; // Mindestalter ja :)
    } else {
        echo "unter ".$mindestalter." Jahre <b>:(</b>"; // Mindestalter nein :(
    }
} else {
    echo "Das Geburtsdatum ist ungültig!"; // angegebenes Geburtsdatum ist nicht gültig
}
?>
Gruss Dr Dau
 
Wenn das Datum in MySQL vorliegt, gäbe es da natürlich auch einfach Lösungen mittels der Zeitfunktionen. Aber wie die Daten vorliegen, steht ja leider nirgends :D
 
Zurück