Artikel »
Coding »
Alter via Personalausweis überprüfen |
Alter via Personalausweis überprüfen
27.09.2006 von WEBI
Mit dieser Funktion könnt ihr die Personalausweis-Nummer (Personalausweis der BR Deutschland) nutzen, um eine Alterkontrolle einzurichten. Der Code überprüft dabei nicht nur das Alter sondern auch die eigentliche Richtigkeit der Nummer anhand von 4 Prüfziffern.
Hier ein Link, zum testen: Tutorial - Test - Personalausweiss Nummer
Ihr legt euch eine neue .php Datei an, ich habe mich in dem Fall für den Namen "perso.php" entschieden. In dieser fügt ihr folgendes hinein:
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>';
}
?> | |  |
Abspeichern, hochladen und testen. Viel Spass mit dieser kleinen Spilerei.
Info:
Der Personalausweis besteht stäts aus 4 Zeilen.
Somit gibt auch hinter Jeder Zeile ein Leerzeichen ein. Nicht alles zusammen schreiben.
Wo die << , < oder <<<<<< sind an deren Stellen ein Leerzeichen nehmen.
Die Texte nach der Überprüfung könnt ihr nach belieben anpassen:
Beispiel:
Bei Eingabe einer Richtigen Personummer - auf 18 verifiziert:
| PHP-Quelltext echo "Du bist 18 oder älter."; | |
wird zu:
| PHP-Quelltext echo "Du gehörst zum alten Eisen."; | |
Falls die Verifizierung fehlgelaufen ist, liegt es an der Falsch Angabe der Nummer oder man ist unter 18:
| PHP-Quelltext echo "Du bist keine 18 oder die eingegebene Nummer: <b>".$personummer."</b> ist falsch."; | |
Die Variable $personummer gibt in dem Fall die von Euch evt falsch eingetragene oder nicht verifizierte Personalausweiss Nummer wieder, wer sie nicht dort haben will kann sie weglassen, ggf, dann den Text anpassen.
|
|
|
|
WEBI |
|
Zitat Info:
Der Personalausweis besteht stäts aus 4 Zeilen.
Somit gibt auch hinter Jeder Zeile ein Leerzeichen ein. Nicht alles zusammen schreiben.
Wo die << , < oder <<<<<< sind an deren Stellen ein Leerzeichen nehmen. |
Wer lesen kann ist klar im Vorteil.
Und wenn ich die Nummer von dir eingebe kommt:
"Du bist 18 oder älter." na also wo ist das Problem? Du kannst nicht lesen, also erst denken, und dann handeln. |
#2 - 30.12.2006 - 16:25 Uhr |
|
|
|
|
|
Gast |
|
Dieser Blödsinn funktioniert natürlich nicht... Tip: Du kannst bestimmt nicht mal eben nachvollziehen, was etliche Mathematiker in jahrelanger Arbeit erstellt haben . Ich bin 23 Jahre alt, und der Test lässt mich minderjährig aussehen o|.
Und da du zweifelsohne von deiner Perfektheit überzeugt bist:
6512137834D<<8302032<0909217<<<<<<<8
Diese Kennziffer ist die eines Volljährigen, versprochen... dein Möchtegern-Test versagt  |
#1 - 30.12.2006 - 16:16 Uhr |
|
|
|
 |
Kommentar verfassen |
|
|
|
|
 |
Login erforderlich, um schreiben zu können. |
|
 |
 |
Datum: 22.07.2024 - 13:04 UhrBenutzer: WEBI |
|
Die Zeit rennt. Lang, lang ist es her. |
|
 |
 |
Datum: 16.07.2024 - 20:40 UhrBenutzer: Dooki |
|
20 Jahre |
|
 |
 |
Datum: 16.07.2024 - 20:30 UhrBenutzer: Dooki |
|
 |
 |
Datum: 11.02.2023 - 18:36 UhrBenutzer: WEBI |
|
So mehr oder minder. |
|
 |
|
Schön,daß es euch noch gibt |
|
 |
 |
Datum: 22.08.2021 - 15:29 UhrBenutzer: Sumale.my |
|
*In Erinnerungen schwelg* |
|
|

|
hosted by
|
|

|
|
|
|