Artikel-Infos
  druckbare Version anzeigen Druckansicht   Artikel empfehlen Seite empfehlen
 
    kommentieren 2 Kommentar(e)   Wertung ø 10,00
1 Stimme(n)

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], 0strlen($parts[0])-2));
        
$p2 pruefziffer(substr($parts[1], 0strlen($parts[1])-1));
        
$p3 pruefziffer(substr($parts[2], 0strlen($parts[2])-1));
        
$st $parts[0][strlen($parts[0])-1];
        
$p4 pruefziffer($p1.$p2.$p3FALSE);
        
$new_perso $p1.$st." ".$p2." ".$p3." ".$p4;
        if(
$new_perso == $perso) {
            
$geb substr($parts[1], 06);
            
$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 &auml;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&uuml;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:



1

PHP-Quelltext

echo "Du bist 18 oder &auml;lter.";


wird zu:



1

PHP-Quelltext

echo "Du geh&ouml;rst zum alten Eisen.";



Falls die Verifizierung fehlgelaufen ist, liegt es an der Falsch Angabe der Nummer oder man ist unter 18:




1

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.


Seitenanfang nach oben

Login erforderlich, um schreiben zu können.
 WEBI
Die Zeit rennt. Lang, lang ist es her. Treffer
 Dooki
20 Jahre Pfeifen
 Dooki
flehen
 WEBI
So mehr oder minder. Oh man
 HobbyProgger
Schön,daß es euch noch gibt Lachen
 Sumale.my
*In Erinnerungen schwelg*


hosted by
All-Inkl.com - Alles einfach Internet



HTH-C.com - Webmedien & Community