1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | | PHP-Quelltext <?php
function check_age_by_perso($perso, $age=18) {
if(!function_exists("pruefziffer")) {
function pruefziffer($zahl, $suf=TRUE) {
$multi = array(7,3,1);
$h = 0;
for($i=0; $i<strlen($zahl); $i++) {
$g = $multi[($i%3)];
$h = $h + $zahl[$i]*$g;
}
settype($h, "string");
if($suf) {
$pruefziffer = $zahl.$h[strlen($h)-1];
} else {
$pruefziffer = $h[strlen($h)-1];
}
return $pruefziffer;
}
}
if (preg_match('/^([0-9]{10})([A-Z]{1}) ([0-9]{7}) ([0-9]{7}) ([0-9]{1})$/si',$perso)) {
$parts = explode(" ", $perso);
$p1 = pruefziffer(substr($parts[0], 0, strlen($parts[0])-2));
$p2 = pruefziffer(substr($parts[1], 0, strlen($parts[1])-1));
$p3 = pruefziffer(substr($parts[2], 0, strlen($parts[2])-1));
$st = $parts[0][strlen($parts[0])-1];
$p4 = pruefziffer($p1.$p2.$p3, FALSE);
$new_perso = $p1.$st." ".$p2." ".$p3." ".$p4;
if($new_perso == $perso) {
$geb = substr($parts[1], 0, 6);
$y = "19".$geb[0].$geb[1];
$m = $geb[2].$geb[3];
$d = $geb[4].$geb[5];
$seconds = mktime(0,0,0,$m,$d,$y);
$r_age = date("Y", time() - $seconds) - 1970;
if($r_age >= $age) {
return TRUE;
}
}
}
return FALSE;
}
if ($personummer) {
if (check_age_by_perso($personummer)==1)
echo "Du bist 18 oder älter.";
else
echo "Du bist keine 18 oder die eingegebene Nummer: <b>".$personummer."</b> ist falsch.";
} else {
echo '<form method="post"><input type="text" name="personummer" size="30"><input type="submit" value="Prüfen"></form>';
}
?> |