Hab mal eine kleine Funktion gebaut, die dir ziemlich helfen wird.

Diese prüft folgenden Part des Personalausweises (neu und alt) auf gültigkeit und darauf, ob die person 18 ist.



Bitteschön:
Code:
function checkAge($personum) {
    $sum = 0;
    for($i = 0;$i < 6;$i++) {
        $sum += (intval(substr($personum,$i,1)) * intval(substr("731731",$i,1)));
    }
    if(intval(substr($personum,6,1)) == intval(substr((string)$sum,-1))) {
        $age   = intval((time() - mktime(0, 0, 0, intval(substr($personum,2,2)), intval(substr($personum,4,2)), intval(substr($personum,0,2)))) / 31536000);
        return($age >= 18);
    }else{
        return(false);
    }
}
checkAge("6408125");
Viel Spaß damit.

PS: Ich werde den Code später hier wieder entfernen, um hackern und fakern weniger material zu liefern, diese funktion zu umgehen

Ich könnte das gesamte System auch noch weiterschreiben zum validieren des gesamten Personalausweises. Aber das würd ich dann wohl nur gegen Bezahlung machen. Ist nämlich dann ne ganz schöne Rechenaufgabe.